安装前准备:
附上composer下载地址:https://getcomposer.org/Composer-Setup.exe
安装TP6
TP6提供了两种版本安装方式,这里我们选择稳定版本进行安装
composer create-project topthink/think chat
安装完成后,cd到chat目录下执行
php think run
这里执行成功后 直接访问http://localhost:8000 就可以访问成功了
如果访问失败,可能是端口被占用了 这里可以执行
php think run -p 80
绑定指定的端口进行访问,执行成功后 直接访问http://localhost 就可以了
多应用模式搭建
1.下载应用模式插件
composer require topthink/think-multi-app
下载成功后,如下图所示在你的chat目录下的vendor会多出一个think-multi-app的目录即为下载成功
2.删除app下controller目录
因为TP6是根据app目录下是否存在controller目录来判断当前项目是否是多应用模式
3.创建多应用目录
在app 目录下创建多应用 我这里创建了两个目录 一个api 目录 一个 index目录api是我写接口的目录,index是我视图展示的目录,common是公共方法和文件的目录
在 api和index 目录下创建controller目录 在controller目录下新建index.php文件
<?php
namespace app\index\controller;
use app\BaseController;
class Index extends BaseController
{
public function index(){
echo 'hello world!';
}
}
这样就能直接访问
api 模块下的index控制器中的index方法 http://localhost/chat/public/index.php/api/index/index
index 模块下的index控制器中的index方法 http://localhost/chat/public/index.php/index/index/index
4.配置应用对应的域名
在chat/config目录下的app.config文件中配置应用对应的域名
// 自动多应用模式
'auto_multi_app' => true,
// 域名绑定(自动多应用模式有效)
'domain_bind' => [
'www.chat.com' => 'index', // 完整域名配置
'api.chat.com' => 'api', // 二级域名配置
// '*' => 'home', // 二级泛域名配置
],
配置完成后直接访问
www.chat.com 就能映射到index应用模块
api.chat.com 映射到api模块下类似于如下图所示
5.配置应用模块之间访问跨越问题
找到chat/app目录下的middleware.php文件,添加接收跨域中间件
<?php
// 全局中间件定义文件
return [
// 全局请求缓存
// \think\middleware\CheckRequestCache::class,
// 多语言加载
// \think\middleware\LoadLangPack::class,
// Session初始化
// \think\middleware\SessionInit::class
// 跨域请求
\think\middleware\AllowCrossDomain::class
];