环境之类的我就不说了,我本地使用的是 windows 下的centos8虚拟机
1、创建项目
# 创建项目
composer create-project topthink/think myProject
# 进入目录更新模板
cd myProject
composer update topthink/framework
2、开启多应用模式
composer require topthink/think-multi-app
# 创建应用模块 如:admin
php think build admin
因为是多应用,该controller是单应用的控制器,所以删除 app/controller 文件夹
3、在配置文件config/app.php 下配置
"auto_multi_app" => true, // 开启多应用
"app_express" => true, // 开启应用快速访问
4、配置应用模块入口
在配置文件config/app.php 下,访问的其实是index 默认应用,可以通过app.php 配置文件的default_app 配置参数指定默认应用。
// 默认应用
'default_app' => 'admin', // 默认 index 模块
5、设置伪静态模式
① Apache模式:
编辑伪静态文件public/.htaccess
<IfModule mod_rewrite.c>
Options +FollowSymlinks -Multiviews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
# RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1] #如果出现 No input file specified. 放开这个,关掉上面那个
</IfModule>
② Nginx模式:
可以首先在Nginx配置文件加上引入伪静态文件:
其次编辑伪静态文件public/.htaccess
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=/$1 last;
}
}
6、将 route文件夹 复制到每个应用模块下,并将 route文件夹删除
7、扩展 模板视图、jwt、中文转拼音、短信、邮箱
# 模板视图
composer require topthink/think-view
# 应用 token jwt
composer require firebase/php-jwt
# 中文转拼音
composer require overtrue/pinyin
# 短信使用
composer require qcloudsms/qcloudsms_php
# 邮箱使用
composer require phpmailer/phpmailer
8、命令生成模块
# 生成中间件
php think make:middleware Check
# 快速生成验证器:如:User
php think make:validate User
9、测试访问
http:/127.0.0.1/admin