thinkphp6之详解

tp6与tp5的区别

  1. 目录结构的异同 tp5核心框架是项目根目录thinkphp下 , tp6是vendor的topthink
  2. 安装方式不同,tp6仅能通过composer方式安装
  3. 类自动加载方式不同 tp6使用composer方式实现类自动加载, tp5 composer+自己实现了一套
  4. tp6使用了php7严格模式
  5. 支持更多的PSR规范 https://learnku.com/docs/psr
  6. 组件的独立 ORM 模板引擎
  7. 中间件改进 TP6开始使用了管道模式来实现中间件,比起之前版本的实现更加简洁,有序
  8. 引入Filesystem

安装

环境要求

ThinkPHP6.0的环境要求如下:

PHP >= 7.1.0

6.0版本开始,必须通过Composer方式安装和更新,所以你无法通过Git下载安装。

安装composer

参考:https://blog.csdn.net/qq_28286687/article/details/106179768

由于众所周知的原因,国外的网站连接速度很慢。因此安装的时间可能会比较长,我们建议使用国内镜像(阿里云)。

打开命令行窗口(windows用户)或控制台(Linux、Mac 用户)并执行如下命令:

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

安装稳定版

如果你是第一次安装的话,在命令行下面,切换到你的WEB根目录下面并执行下面的命令:

composer create-project topthink/think tp

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

如果你之前已经安装过,那么切换到你的应用根目录下面,然后执行下面的命令进行更新:

composer update topthink/framework

更新操作会删除thinkphp目录重新下载安装新版本,但不会影响app目录,因此不要在核心框架目录添加任何应用代码和类库。

安装和更新命令所在的目录是不同的,更新必须在你的应用根目录下面执行

如果出现错误提示,请根据提示操作或者参考Composer中文文档

安装开发版

一般情况下,composer 安装的是最新的稳定版本,不一定是最新版本,如果你需要安装实时更新的版本(适合学习过程),可以安装6.0.x-dev版本。

composer create-project topthink/think=6.0.x-dev tp

我用的是composer create-project topthink/think=6.0.2 tp(tp是在当前目录下创建的项目根目录,你自己可以随意修改

在这里插入图片描述在这里插入图片描述

开启调试模式

应用默认是部署模式,在开发阶段,可以修改环境变量APP_DEBUG开启调试模式,上线部署后切换到部署模式。

本地开发的时候可以在应用根目录下面定义.env文件。

通过create-project安装后在根目录会自带一个.example.env文件(环境变量示例),你可以直接更名为.env文件并根据你的要求进行修改,该示例文件已经开启调试模式

测试运行

进入tp(换成你自己定义的文件名)命令行下面,执行下面指令

cd tp
php think run

在这里插入图片描述
在浏览器中输入地址:http://127.0.0.1:8000/

在这里插入图片描述如果你本地80端口没有被占用的话,也可以直接使用
php think run -p 80
在浏览器中输入地址:http://127.0.0.1

进入多应用模式(默认的是单应用模式)

  1. 安装多应用模式扩展think-multi-app

composer require topthink/think-multi-app

在这里插入图片描述
2. config/app.php 存在修改为true否则添加 ‘auto_multi_app’ => true
在这里插入图片描述
3. 删除原有app目录下controller
4. 创建应用模块admin

php think build admin

在这里插入图片描述
5. 访问时加上应用名称

http://127.0.0.1:8000/admin/

在这里插入图片描述

访问mvc

控制器

资源控制器

资源控制器可以让你轻松的创建RESTFul资源控制器,可以通过命令行生成需要的资源控制器,例如生成admin应用的Blog资源控制器使用:

php think make:controller admin@Blog
或者
php think make:controller app\admin\controller\Blog

在这里插入图片描述

访问控制器方法

public function test(){
    return 'test方法';
}

访问:http://127.0.0.1:8000/admin/index/test

空控制器

空控制器的概念是指当系统找不到指定的控制器名称的时候,系统会尝试定位当前应用下的空控制器(Error)类,利用这个机制我们可以用来定制错误页面和进行URL的优化。
在这里插入图片描述

<?php
declare (strict_types = 1);

namespace app\admin\controller;


class Error
{
    public function __call($method, $args)
    {
        return 'error request!';
    }
}

http://127.0.0.1:8000/admin/index1/test1
index1控制器不存在,会直接去查找我们定义的Error控制器
在这里插入图片描述

模型

视图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱好者777

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值