天天看点

tp6安装及开启多应用模式的使用

环境之类的我就不说了,我本地使用的是 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