文/桂浮云,2020年4月7日
想成神,先入门。Thinkphp 6 开发也是如此。与以前版本不同的是,目前Thinkphp6推荐使用Composer安装,所以,需要懂一些基本的Composer的操作命令。
第一步,安装Thinkphp 6(必学)
composer create-project topthink/think <你的安装目录>
注意:<你的安装目录>,即您的新项目目录,比如你打算在当前目录下,创建一个blog项目,那么将“<你的安装目录>”替换为blog即可。以下假定您的项目为blog项目。
第二步,搭建Web服务器(必学)
或者在本地搭建一个虚拟开发环境,或者将<你的安装目录>整体上传至你的Web服务提供商给定的服务器(上传方式,需要问您的Web服务器提供商)。搭建虚拟开发环境的话,以后另行说明。
如果采用Web服务商方案的话,假设服务器的操作系统为类Linux系统,Web项目通常会放置在/var/www目录下,那么可以将blog项目整体上传至/var/www/blog下。
如果我们的Web服务采用的是nginx,那么,增加我们的blog项目配置,具体参加nginx的配置说明:
> cd /etc/nginx/sites-enabled
> sudo vi blog.conf
blog.conf的内容如下:
server {
listen 80;
#listen 443 ssl http2;
server_name .blog.test;
# 注意root的设置,通过浏览器访问blog项目的入口在blog项目的public目录下,这样做有助于项目数据的安全
root "/var/www/blog/public";
index index.html index.htm index.php;
charset utf-8;
location / {
# 注意:tp6为单文件入口,所以,找不到的文件需要交由
# /var/www/blog/public/index.php这个单入口文件处理
# 详见:[官网教程说明](https://www.kancloud.cn/manual/thinkphp6_0/1037488)
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=/$1 last;
}
# try_files $uri $uri/ /index.php?$query_string;
}
# 以下省略
}
:wq保存之后,需要重启nginx服务:
> sudo nginx -s reload
然后访问您的域名(假设为blog.test),查看安装后效果。
第三步,安装额外需要的开发包(可选)
如果您从Thinkphp5转过来,首先特别关注的几个事情:
A. Session中间件需要手动开启;
需要修改项目app子目录下的middleware.php文件(全局中间件设置文件),取消Session初始化代码行的注释:
<?php
// 全局中间件定义文件
return [
// 全局请求缓存
// \think\middleware\CheckRequestCache::class,
// 多语言加载
// \think\middleware\LoadLangPack::class,
// Session初始化
\think\middleware\SessionInit::class
];
B. thinkphp自己的模板引擎需要通过composer另行安装;
composer require topthink/think-view
C. 如果您的Controller继承自thinkphp5的think/Contoller,需要修改为app/BaseController
其他升级需要的注意事项,可阅读升级指导
有关内容