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

2023-02-18 14:11:24 浏览数 (1)

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

  • 1. 自动多应用部署 官方手册原文 多应用模式
  • 2. 自动多应用模式的URL地址默认使用
  • 3. 多应用智能识别
1. 自动多应用部署 官方手册原文 多应用模式

代码语言:javascript复制
通过index.php入口文件访问的话,并且没有设置应用name,系统自动采用自动多应用模式

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

代码语言:javascript复制
http://serverName/index.php

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

代码语言:javascript复制
return [
// 默认应用
'default_app' => 'index',
];

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

代码语言:javascript复制
return [
// 默认控制器名
'default_controller' => 'Index',
// 默认操作名
'default_action' => 'index',
];
2. 自动多应用模式的URL地址默认使用

访问admin应用

代码语言:javascript复制
http://serverName/index.php/admin

访问shop应用

代码语言:javascript复制
http://serverName/index.php/shop

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

代码语言:javascript复制
http://serverName/index.php/应用/控制器/方法
3. 多应用智能识别

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

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

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

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

0 人点赞