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 "不存在的控制器(来自空控制器)";}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/119426.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C51--单片机中断

51单片机是单线程模式&#xff0c;需要用到硬件中断。 一、中断系统 中断系统是为使CPU具有对外界紧急事件的实时处理能力而设置的。 当中央处理器CPU正在处理某件事的时候&#xff0c;外界发生了紧急事件请求&#xff0c;要求CPU暂停当前工作&#xff0c;转而去处理这个紧急…

程序员们平时都喜欢逛什么论坛呢?

网站不在多&#xff0c;好用就行&#xff1b;技术不求精&#xff0c;好摸鱼就行。是时候祭出我收藏夹里的这15个网站了&#xff01; 求职必备&#xff1a;牛客网 https://www.nowcoder.com/ 年少不知牛客好&#xff0c;等到要面试的时候才发现是神器。 你可以在牛客上搜索到一…

C#WPFPrism框架导航应用实例

本文实例演示C#WPFPrism框架导航应用实例。 一、导航实现步骤 首先创建WPF项目,修改App相关文件内容,以便使用prism。 承接上一个模块化的实例,在这个基础上更改增加导航功能。 1.1首先在ModuleA中添加ViewModels文件夹,添加ViewAViewModel.cs类 如果想上下文自动查找…

ArcGIS中批量mxd高版本转低版本

我们经常在给别人发ArcGIS的工程文件mxd&#xff0c;结果到别人那发现mxd工程文件打不开&#xff0c;原因是我们的arcgis版本高于别人&#xff0c;此时工程文件又很多&#xff0c;一个个转存成低版本又嫌麻烦&#xff0c;于是我们做了个批量mxd高版本转低版本的小工具&#xff…

论文解读:Large Language Models as Analogical Reasoners

一、动机 大模型在各种类型的NLP任务上均展现出惊艳的表现。基于CoT propmt能够更好地激发大模型解决复杂推理问题的能力&#xff0c;例如解决数学解题&#xff0c;可以让模型生成reasoning path。现有的经典的CoT方法有few-shot cot、zero-shot cot等。然后现有的cot面临两个…

Transformer模型 | 用于目标检测的视觉Transformers训练策略

基于视觉的Transformer在预测准确的3D边界盒方面在自动驾驶感知模块中显示出巨大的应用,因为它具有强大的建模视觉特征之间远程依赖关系的能力。然而,最初为语言模型设计的变形金刚主要关注的是性能准确性,而不是推理时间预算。对于像自动驾驶这样的安全关键系统,车载计算机…

C++内存管理:其七、标准库中的allocator

首先明确一点&#xff0c;绝大多数情况下&#xff0c;是标准库中的容器使用allocator。因为容器需要频繁的申请和释放内存。 一、容器使用allocator 典型的例子&#xff1a; vector<int , allocator<int>> a;但是为什么我们通常的定义vector变量的方法是&#x…

Hadoop3.0大数据处理学习1(Haddop介绍、部署、Hive部署)

Hadoop3.0快速入门 学习步骤&#xff1a; 三大组件的基本理论和实际操作Hadoop3的使用&#xff0c;实际开发流程结合具体问题&#xff0c;提供排查思路 开发技术栈&#xff1a; Linux基础操作、Sehll脚本基础JavaSE、Idea操作MySQL Hadoop简介 Hadoop是一个适合海量数据存…

Vue响应式原理和本质 | 实现一个完善的响应式系统

文章目录 前言响应式响应式的本质基本实现和工作原理完善的响应式 前言 本篇文章代码思路来自Vue3.0源码, 部分理解来源于霍春阳 《Vue.js设计与实现》这本书的理解, 感兴趣的小伙伴可以自行购买阅读。可以非常明确的感受到作者对 Vue 的深刻理解以及用心, 富含非常全面的 Vue …

Linux进程终止

文章目录 进程退出场景进程退出码strerrorerrno浅谈进程异常exit && _exit 进程退出场景 代码运行完毕&#xff0c;结果正确代码运行完毕&#xff0c;结果不正确代码异常 进程退出码 我们写的C/C的代码&#xff0c;main函数每次都需要返回0&#xff0c;而这个return…

C++:类的默认成员函数------拷贝构造函数赋值运算符重载

目录 一、前言 二、拷贝构造函数 &#x1f4a6;拷贝构造函数概念 &#x1f4a6;拷贝构造函数特性 &#x1f34e; 解释特性2&#xff1a;拷贝构造函数的参数只有一个且必须使用引用传参&#xff0c;使用传值方式会引发无穷递归调用 &#x1f350;解释特性3&#xff1a;…

Spring注解RequestBody与RequestParam详解

要注意的问题&#xff1a; RequestBody 前端的请求方法要使用post方式来进行提交&#xff1b;一个请求只能有一个RequestBody&#xff0c;也就是说&#xff0c;当一个方法中有两个参数的时候&#xff0c;最多只能有一个参数加RequestBody注解用来接受request body中的参数&am…

Qt之自定义QStringListModel设置背景色和前景色

一.效果 二.实现 QStringListModel里只实现了Qt::EditRole和Qt::DisplayRole,不能直接设置背景色和前景色,所以我们要继承QStringListModel,重写其中的data和setData方法,使其支持Qt::ForegroundRole和Qt::BackgroundRole。 QHStringListModel.h #ifndef QHSTRINGLISTMO…

Java集成支付宝支付流程

在这篇博客中&#xff0c;我们将详细介绍如何在Java应用中集成支付宝支付。我们将从支付宝支付的基本概念开始&#xff0c;然后讲解如何在Java中使用支付宝的SDK进行支付操作&#xff0c;最后我们将通过一个具体的例子来演示整个过程。 1. 支付宝支付简介 支付宝是中国最大的…

P1966 [NOIP2013 提高组] 火柴排队

洛谷的一道原题&#xff0c;方法有很多&#xff0c;树状数组以及排序&#xff0c;对刚学树状数组的人来说用排序会比较好理解。 本题最重要的结论就是&#xff0c;要保证两个数组中相同位置的差最小&#xff0c;但是不一定两个数组中数值相同&#xff0c;所以只需要保证相同位…

ChatGPT/GPT4科研技术与AI绘图及论文高效写作

2023年我们进入了AI2.0时代。微软创始人比尔盖茨称ChatGPT的出现有着重大历史意义&#xff0c;不亚于互联网和个人电脑的问世。360创始人周鸿祎认为未来各行各业如果不能搭上这班车&#xff0c;就有可能被淘汰在这个数字化时代&#xff0c;如何能高效地处理文本、文献查阅、PPT…

C语言每日一题(20)最大公因数等于 K 的子数组数目

力扣 2447 最大公因数等于 K 的子数组数目 题目描述 给你一个整数数组 nums 和一个整数 k &#xff0c;请你统计并返回 nums 的子数组中元素的最大公因数等于 k 的子数组数目。 子数组 是数组中一个连续的非空序列。 数组的最大公因数 是能整除数组中所有元素的最大整数。 …

王道p40 1.设计一个递归算法,删除不带头结点的单链表L中的所有值为x的结点(c语言代码实现)图解递归

视频讲解(献丑了)&#xff1a;p40 第1题 王道数据结构课后代码题c语言代码实现_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1Xa4y1Q7ui/?spm_id_from333.999.0.0 首先它是一个不带头结点的单链表 我们就得特殊处理 我们先让*LNULL&#xff1b; 然后为s开辟一个新…

大数据-Storm流式框架(二)--wordcount案例

一、编写wordcount案例 1、新建java项目 2、添加storm的jar包 storm软件包中lib目录下的所有jar包 3、编写java类 WordCountTopology.java package com.bjsxt.storm.wc;import backtype.storm.Config; import backtype.storm.LocalCluster; import backtype.storm.genera…

Pytorch代码入门学习之分类任务(三):定义损失函数与优化器

一、定义损失函数 1.1 代码 criterion nn.CrossEntropyLoss() 1.2 损失函数简介 神经网络的学习通过某个指标表示目前的状态&#xff0c;然后以这个指标为基准&#xff0c;寻找最优的权重参数。神经网络以某个指标为线索寻找最优权重参数&#xff0c;该指标称为损失函数&am…