thinkphp8应用模式有2种,一种是单应用模式,一种是多应用模式。多应用模式又分2种,一种是非自动多应用模式,一种是自动多应用模式。
首先展示单应用模式,仅展示控制器部分,其他部分同理。
注意看app文件夹下面直接接着controller文件夹,这便是单应用模式的目录结构。
在Index.php文件编写代码如下
<?php
namespace app\controller;
class Index
{
public function index()
{
return '单应用';
}
}
然后在phpstudy中创建网站,配置如下
在浏览器输入http://www.tp8.com/index.php/index/index
现在展示非自动多应用模式,建立一个admin应用
注意看app文件夹下面接的是admin文件夹,在Index.php文件中编写代码如下
<?php
namespace app\admin\controller;
class index {
public function index()
{
return '多应用后台';
}
}
然后在public文件夹下复制index.php入口文件,然后直接粘贴并改名为admin.php
在phpstudy中创建网站,并配置如下
在浏览器输入http://multi.tp8.com/admin.php/index/index
现在展示自动多应用模式,分别建立admin应用,home应用,mp_toutiao应用
在admin/controller/Index.php文件中编写代码如下
<?php
namespace app\admin\controller;
class Index {
public function index()
{
return "自动多应用后台";
}
}
在home/controller/Index.php文件中编写代码如下
<?php
namespace app\home\controller;
class index {
public function index()
{
return '自动多应用home前台';
}
}
在mp_toutiao/controller/Index.php文件中编写代码如下
<?php
namespace app\mp_toutiao\controller;
class Index {
public function index()
{
return "自动多应用抖音前台";
}
public function test()
{
return "自动多应用抖音前台测试";
}
}
在phpstudy中创建网站并配置如下
在浏览器输入http://auto.multi.tp8.com/index.php/admin/index/index
在浏览器输入http://auto.multi.tp8.com/index.php/home/index/index
在浏览器输入http://auto.multi.tp8.com/index.php/mp_toutiao/index/index
在浏览器输入http://auto.multi.tp8.com/index.php/mp_toutiao/index/test
到此为止,已经展示完thinkphp8的应用模式了,接下来对自动多应用模式进行进一步配置优化,优化2点内容。
一、实现伪静态
如上图所示输入
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=$1 last;
break;
}
这样是为了隐藏index.php入口文件
二、配置域名绑定应用,在config/app.php中找到domain_bind这项配置,然后添加
// 域名绑定(自动多应用模式有效)
'domain_bind' => [
'mp.toutiao.am8.com' => 'mp_toutiao', // 完整域名绑定到mp_toutiao应用
'home.am8.com' => 'home',
'admin.am8.com' => 'admin',
],
我安装的web服务器是nginx,然后在phpstudy中定位到如下图位置
找到创建自动多应用模式的网站配置,点击进去,找到server_name这项,在后面添加如下
server_name auto.multi.tp8.com mp.toutiao.am8.com home.am8.com admin.am8.com;
添加完后保存关闭,然后在phpstudy中点击hosts配置,在后面新增如下3行,保存
127.0.0.1 mp.toutiao.am8.com
127.0.0.1 home.am8.com
127.0.0.1 admin.am8.com
最后测试下效果
在浏览器输入http://admin.am8.com/index/index
在浏览器输入http://home.am8.com/index/index