php

thinkphp多应用模式

2023-10-10

多应用模式下面,除了应用目录的区别外,runtime目录下面会自动创建各个应用的子目录(注意,这个目录同样适用于composer加载的应用),但你只需要通过App::getRuntimePath()方法获取当前应用的runtime目录。

runtime/home/runtime/admin/

多个应用的路由定义文件都是独立的,在route目录下面创建对应目录的子目录存放每个应用的路由定义。

route/home/route/admin/

多个应用允许加载统一的公共文件。

app/common.php
app/admin/common.php
app/home/common.php

对于配置文件而言,config目录下为应用公共配置,config下子目录则为单个应用的独立配置。

config/config/admin/config/home/

可能有人认为现在不同的应用是独立的入口文件,每个应用之间没法互通了,其实这个理解是错误的。不同的应用仍然是可以相互调用的,毕竟类库都是基于命名空间的。