当前位置: 首页 > news >正文

ThinkPHP8学习笔记

ThinkPHP8官方文档地址:ThinkPHP官方手册

一、composer换源

1、查看 composer 配置的命令composer config -g -l

2、禁用默认源镜像命令composer config -g secure-http false

3、修改为阿里云镜像源composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

4、查看修改结果composer config -g -l

5、升级composer

(1)先获取composer安装地址:composer -h

(2)切换到获得的地址,composer self-update命令进行升级:

二、Windows环境下ThinkPHP8的安装

1、ThinkPHP8.0的环境要求PHP大于8.0;

2、在命令行下面,切换到你的WEB根目录下面并执行下面的命令:

composer create-project topthink/think tp

这里的tp目录名你可以任意更改,这个目录就是我们后面会经常提到的应用根目录。 

3、测试运行命令:

php think run

 浏览器中打开http://localhost:8000/ 就可以看到效果了。

三、开启调试模式方法

将左侧的文件名改成红色方块中的名字,文件中APP_DEBUG设置为true即可。

四、URL访问

1、规则

8.0的URL访问受路由影响,如果在没有定义或匹配路由的情况下(并且没有开启强制路由模式的话),则是基于:

http://serverName/index.php(或者其它入口文件)/控制器/操作/参数/值…

如果使用自动多应用模式的话,URL一般是

http://serverName/index.php/应用/控制器/操作/参数/值..

2、关闭路由,关闭路由可以使用上面规则访问后端控制文件

 3、当在本地测试的时候,通过phpstorm内置服务器可以访问的页面,同时想通过phpenv服务器访问,需要做如下设置。

替换代码为:RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]

五、基础控制器和空控制器

1、基础控制器

<?php
namespace app\controller;
use app\BaseController;
class User extends BaseController  //继承基础控制器Ba
{public  function index(){#return "用户!";# return $this->app->getBasePath();   //返回当前的实际路径return $this->request->action(); // 返回当前方法名}public function login(){return "登录成功!";}
}

2、空控制器 

<?php
namespace app\controller;
class Error
{public function __call(string $name, array $arguments)   // 空控制器{// TODO: Implement __call() method.return "不存在的控制器(来自空控制器)";}
}

六、连接数据库

1、测试环境和生产环境的不同设置;如果debug设置为true,就会去找.env环境找数据库的设置,如果debug为false,就会使用生产环境的设置。

2、测试环境的设置; 

相关文章:

ThinkPHP8学习笔记

ThinkPHP8官方文档地址&#xff1a;ThinkPHP官方手册 一、composer换源 1、查看 composer 配置的命令composer config -g -l 2、禁用默认源镜像命令composer config -g secure-http false 3、修改为阿里云镜像源composer config -g repo.packagist composer https://mirror…...

NSSCTF做题第9页(2)

[SWPUCTF 2022 新生赛]ez_1zpop <?php error_reporting(0); class dxg { function fmm() { return "nonono"; } } class lt { public $impohi; public $md51weclome; public $md52to NSS; function __construct() { $this-&…...

Rust笔记【1】

元组和解构语法 let tup : (i32, f64, u8) (666, 2.0, 1);let tup (666, 2.0, 1); let (x, y, z) tup;let x tup.0; let y tup.1; let z tup.2;数组类型 数组定义是方括号&#xff1a;[ ] 元组定义是小圆括号&#xff1a;( ) 结构体定义是大括号&#xff1a;{ }&#xf…...

代码随想录训练营day3:链表part1

理论 链表的增删操作时间复杂度O(1),查询时间复杂度O(n),因为要从头结点开始。使用场景和数据完全相反 链表的储存地址是不连续的。也和数组不同。 移除链表元素 利用虚拟头结点可以同意操作。不然删除头结点需要额外写。 记得返回的是虚拟头结点的next而不是虚拟头结点retu…...

Bootstrap的咖啡网站实例代码阅读笔记

目录 01-index.html的完整代码02-图片可以通过类 rounded-circle 设置为圆形显示03-<li class"nav-item mt-1 a">中&#xff0c;类mt-1是什么意思&#xff1f;类a又是什么意思&#xff1f;04-href"javascript:void(0);"是什么意思&#xff1f;05-类f…...

2021年06月 Python(二级)真题解析#中国电子学会#全国青少年软件编程等级考试

Python等级考试&#xff08;1~6级&#xff09;全部真题・点这里 一、单选题&#xff08;共25题&#xff0c;每题2分&#xff0c;共50分&#xff09; 第1题 执行下列代码后&#xff0c;运行结果是&#xff1f; seq[hello,good,morning] s*.join(seq) print(s)A: hello*good*m…...

FileWriter文件字符输出流

一.概念 以内存为基准&#xff0c;把内存中的数据以字符形式写出到文件中 二.构造器 public FileWriter(Filefile) 创建字节输出流管道与源文件对象接通 public FileWriter(String filepath) 创建字节输出流管道与源文件路径接通 public Filewriter(File file,boolean append) …...

Vue的八个基础命令及作用

1.v-text 作用:获取data数据, 设置标签的内容&#xff0c;以纯文本进行显示v-text 会覆盖 标签中的内容&#xff0c;如果想要拼接数据&#xff0c;可以直接在v-text中拼接如果拼接的是数字&#xff1a;直接使用 “”如果拼接的是字符串&#xff0c;需要使用与外部不同的引号进…...

Log日志详解分析

目录 1、log日志的用途2、log日志级别3、什么时候需要输出日志1. 系统启动参数、环境变量2. 异常捕获处3. 函数获得期望之外的结果时4. 关键操作 4、日志输出的内容5、 注意事项1. 日志信息不明确2. 特殊异常处理3. 日志输出顺序4. 临时调试日志 6、xml文件配置7、linux下查看日…...

【API篇】九、Flink的水位线

文章目录 1、Flink时间语义2、事件时间和窗口3、水位线4、水位线和窗口的工作原理 1、Flink时间语义 事件时间处理时间 举个例子就是&#xff0c;一条数据在23:59:59产生&#xff0c;在00:00:01被处理&#xff0c;前者为事件时间&#xff0c;后者为处理时间。 从Flink1.12版本…...

#经典论文 异质山坡的物理模型 2 有效导水率

Binley, A., Beven, K., & Elgy, J. (1989). A physically based model of heterogeneous hillslopes: 2. Effective hydraulic conductivities. Water Resources Research, 25(6), 1227–1233. https://doi.org/10.1029/WR025i006p01227 这篇论文指出&#xff0c; 每个输…...

Java面试题-Redis-第一天(Redis简单介绍)

目录 一、Redis是什么&#xff1f;优缺点&#xff1f; 二、Redis为什么这么快&#xff1f; 三、Redis相较于Memcached有哪些优势&#xff1f; 四、为什么使用Redis做缓存&#xff1f; 五、为什么要用Redis而不用map/guava做缓存&#xff1f; 六、Redis的常用场景有哪些&am…...

Java 生成和读取JSON文件

下面的demo当中 &#xff0c;是将json文件放到了zip包当中。如果不需要&#xff0c;可以拿掉。 1、生成对象JSON文件 public static void crateJson() {try {String orcPath "D:\\doc\\ts_service_orchestration.json";// 对象集合或者对象都可以List<DataPO>…...

k8s-----26、细粒度权限管理 RBAC

0、导读 每一个用户对API资源进行操作都需要通经过以下三个步骤: 第一步:对客户端访问进行认证操作,确认是否具有访问k8s权限(也就是通过serviceaccount) token(共享秘钥) SSL(双向SSL认证) …通过任何一个认证即表示认证通过,进入下一步第二步:授权检查,确认是否对资源…...

【Unity ShaderGraph】| 制作一个 高级流体水球效果

前言 【Unity ShaderGraph】| 快速制作一个 流体水球效果一、效果展示二、简易流体水球效果三、进阶流体水球效果四、应用实例 前言 本文将使用ShaderGraph制作一个 高级流体水球 &#xff0c;可以直接拿到项目中使用。对ShaderGraph还不了解的小伙伴可以参考这篇文章&#xf…...

日常软件游戏丢失msvcp120dll怎么修复?分享5个修复方法

在计算机使用过程中&#xff0c;我们经常会遇到一些错误提示&#xff0c;其中之一就是“msvcp120dll丢失”。那么&#xff0c;究竟什么是msvcp120dll文件&#xff1f;当它丢失时&#xff0c;我们会遇到哪些问题呢&#xff1f;本文将从以下几个方面进行详细阐述。 msvcp120dll是…...

自动驾驶之—2D到3D升维

前言&#xff1a; 最近在学习自动驾驶方向的东西&#xff0c;简单整理一些学习笔记&#xff0c;学习过程中发现宝藏up 手写AI 3D卷积 3D卷积的作用&#xff1a;对于2DCNN&#xff0c;我们知道可以很好的处理单张图片中的信息&#xff0c;但是其对于视频这种由多帧图像组成的图…...

ubuntu18.4(后改为20.4)部署chatglm2并进行基于 P-Tuning v2 的微调

下载驱动 NVIDIA显卡驱动官方下载地址 下载好对应驱动并放在某个目录下&#xff0c; 在Linux系统中安装NVIDIA显卡驱动前,建议先卸载Linux系统自带的显卡驱动nouveau。 禁用nouveau 首先&#xff0c;编辑黑名单配置。 vim /etc/modprobe.d/blacklist.conf 在文件的最后添加…...

爬虫-获取数据xpath

安装lxml pip3 install lxml基本用法 import reauests from lxml import etree url = xxx res = reuests.get(url).text html = etree.HTML(res) # 获取所有div标签 xpath = //div print(html.xpath(xpath)) #获取id=xx的div标签下的class=yy的span标签 xpath = //div[@id=&quo…...

SpringBoot中使用JdbcTemplate访问Oracle数据库

Oracle相信大家都不陌生吧&#xff0c;一个大型的数据库&#xff0c;至于数据库&#xff0c;我相信各位都比较熟悉了&#xff0c;一个软件系统&#xff0c;不论是我们常做的App、小程序、还是传统的web站点&#xff0c;我们都有用户的信息&#xff0c;相关业务的数据&#xff0…...

如何深度定制WSA环境:Magisk与Google服务集成完全指南

如何深度定制WSA环境&#xff1a;Magisk与Google服务集成完全指南 【免费下载链接】WSA-Script Integrate Magisk root and Google Apps into WSA (Windows Subsystem for Android) with GitHub Actions 项目地址: https://gitcode.com/gh_mirrors/ws/WSA-Script 你是否…...

从零到精通的Android Kotlin实战学习旅程:50个项目带你掌握移动开发核心技能

从零到精通的Android Kotlin实战学习旅程&#xff1a;50个项目带你掌握移动开发核心技能 【免费下载链接】50-android-kotlin-projects-in-100-days My everyday Android practice demos with Kotlin in 100 days. 项目地址: https://gitcode.com/gh_mirrors/50/50-android-k…...

全文交给降AI工具处理,文本质量会变差吗?实测说话

全文交给降AI工具处理&#xff0c;文本质量会变差吗&#xff1f;实测说话 “全文交给工具处理&#xff0c;会不会被改得乱七八糟&#xff1f;” 这是很多同学在考虑用降AI工具时最大的顾虑&#xff0c;也是一个合理的问题。 我实测了几个工具处理前后的文本质量对比&#xf…...

.au域名注册后如何进行SEO优化

.au域名注册后如何进行SEO优化 在全球互联网市场中&#xff0c;一个高效的搜索引擎优化&#xff08;SEO&#xff09;策略是网站成功的关键。对于在澳大利亚市场运营的网站而言&#xff0c;.au域名注册后的SEO优化尤为重要。本文将详细探讨在.au域名注册后如何进行SEO优化&…...

BiliTools AI视频总结功能:革新B站内容消费体验的智能解决方案

BiliTools AI视频总结功能&#xff1a;革新B站内容消费体验的智能解决方案 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱&#xff0c;支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTool…...

AI辅助开发:让快马AI为你深度解读并延展Python antigravity的趣味文化

最近在玩Python的时候&#xff0c;发现了一个特别有意思的彩蛋——import antigravity。这个看似简单的语句背后&#xff0c;其实藏着一段有趣的开发者文化。今天我就来分享一下&#xff0c;如何用InsCode(快马)平台的AI功能&#xff0c;把这个彩蛋玩出更多花样。 初识antigrav…...

OpenClaw内存优化:千问3.5-35B-A3B-FP8在8GB设备的运行技巧

OpenClaw内存优化&#xff1a;千问3.5-35B-A3B-FP8在8GB设备的运行技巧 1. 为什么需要内存优化 当我第一次尝试在8GB内存的MacBook Pro上运行千问3.5-35B-A3B-FP8模型时&#xff0c;系统几乎立即崩溃了。这让我意识到&#xff0c;想要在资源有限的设备上运行大型语言模型&…...

ESP8266与STM32F103通信实战:从硬件连接到软件调试的完整解析

1. ESP8266与STM32F103通信基础 搞物联网开发的朋友应该都听说过ESP8266这个神器&#xff0c;它就像给传统单片机装上了Wi-Fi翅膀。我最早用STM32F103做项目时&#xff0c;为了联网功能折腾了好久&#xff0c;直到发现ESP-01S模块这个性价比之王。今天我就把这两者的通信实战经…...

实用指南:使用applera1n安全绕过iOS 15-16激活锁的完整教程

实用指南&#xff1a;使用applera1n安全绕过iOS 15-16激活锁的完整教程 【免费下载链接】applera1n icloud bypass for ios 15-16 项目地址: https://gitcode.com/gh_mirrors/ap/applera1n iOS设备的激活锁是Apple保护用户隐私的重要安全功能&#xff0c;但当您忘记Appl…...

RTX 4090D 24G显存适配方案:PyTorch 2.8镜像GPU利用率提升实测分析

RTX 4090D 24G显存适配方案&#xff1a;PyTorch 2.8镜像GPU利用率提升实测分析 1. 开篇&#xff1a;为什么选择RTX 4090D 24G RTX 4090D作为NVIDIA最新一代消费级显卡旗舰&#xff0c;24GB显存容量使其成为大模型训练和推理的理想选择。相比专业级显卡动辄数万的价格&#xf…...