zl程序教程

您现在的位置是:首页 >  APP

当前栏目

ThinkPHP6.0 自动多应用部署、多应用智能识别

2023-03-07 09:47:18 时间

本文前提:在多应用模式中

1. 自动多应用部署 官方手册原文 多应用模式


通过index.php入口文件访问的话,并且没有设置应用name,系统自动采用自动多应用模式

如果没有指定访问的应用,自动访问默认应用

http://serverName/index.php

默认应用在 config/app.php 文件 default_app 配置项指定(框架默认:index)

return [
// 默认应用
'default_app' => 'index',
];

默认访问的控制器和方法在 config/route.php 文件中指定

return [
// 默认控制器名
'default_controller' => 'Index',
// 默认操作名
'default_action' => 'index',
];

2. 自动多应用模式的URL地址默认使用


访问admin应用

http://serverName/index.php/admin

访问shop应用

http://serverName/index.php/shop

就是说 pathinfo 地址的第一个参数就表示当前的应用名,后面才是该应用的路由或者控制器/操作

http://serverName/index.php/应用/控制器/方法

3. 多应用智能识别


应用不存在时,系统会自动切换到单应用模式,并进行全局路由(route/*.php)匹配检查

如果希望应用不存在的时候,直接访问默认应用的路由

  • 在全局配置文件 config/app.php 中添加 app_express 配置项
  • 此时如果访问的应用不存在,默认访问的是 default_app 配置项指定的默认应用
return [
// 开启应用快速访问
'app_express' => true,
];

此时因为 abc 应用不存在,因为开启了应用的快速访问,所以abc 被当做了控制器名