tp6多应用模式
1、安装多应用模式扩展think-multi-app
composer require topthink/think-multi-app
2、安装视图扩展
composer require topthink/think-view/
3、config/app.php 存在修改为true否则添加 'auto_multi_app' => true,
php think build demo //创建应用
4、删除原有app目录下controller
目录结构:
├─app 应用目录
│ ├─index 主应用
│ │ ├─controller 控制器目录
│ │ ├─model 模型目录
│ │ ├─view 视图目录
│ │ ├─config 配置目录
│ │ ├─route 路由目录
│ │ └─ ... 更多类库目录
│ │
│ ├─admin 后台应用
│ │ ├─controller 控制器目录
│ │ ├─model 模型目录
│ │ ├─view 视图目录
│ │ ├─config 配置目录
│ │ ├─route 路由目录
│ │ └─ ... 更多类库目录
│
├─public WEB目录(对外访问目录)
│ ├─admin.php 后台入口文件
│ ├─index.php 入口文件
│ ├─router.php 快速测试文件
│ └─.htaccess 用于apache的重写
│
├─config 全局应用配置目录
├─runtime 运行时目录
│ ├─index index应用运行时目录
│ └─admin admin应用运行时目录
tp6多应用模式路由
开启多应用模式时路由文件应放在应用模块下,访问时需加上模块名
├─app 应用目录
│ ├─admin 应用模块
│ │ ├─common.php 函数文件
│ │ ├─controller 控制器目录
│ │ ├─model 模型目录
│ │ ├─view 视图目录
│ │ ├─config 配置目录
│ │ ├─route 路由目录
│ │ │ ├─route.php 路由定义
│ │ │ ├─api.php 路由定义
│ │ │ └─... 更多路由定义
访问时需加上模块名:
http://serverName/index.php/admin(模块名)/index(控制器)/hello(方法)
admin/controller/Index.php
<?php
declare (strict_types = 1);
namespace app\admin\controller;
class Index
{
public function hello()
{
return '您好!这是一个[admin]示例应用';
}
}
admin/route/app.php
<?php
use think\facade\Route;
Route::get('hello', 'Index/hello');