thinkphp多应用模式下公共模块如何创建

创建公共模块需在根目录下建立common目录并配置PSR-4自动加载,通过命名空间在多应用间共享模型、服务与中间件,实现代码复用。

thinkphp多应用模式下公共模块如何创建

在 ThinkPHP 多应用模式下,公共模块的创建主要是为了解决多个应用之间共享模型、服务、工具类或配置的问题。通过合理组织目录结构和自动加载机制,可以实现代码复用,避免重复开发。

1. 创建公共模块目录

在项目根目录下创建一个 commonmodules 目录,用于存放所有应用共享的代码。

示例结构:

 project/ ├── app/ │   ├── home/           # 前台应用 │   ├── admin/          # 后台应用 │   └── common/         # 公共模块(可选命名) ├── common/             # 独立的公共模块目录(推荐) │   ├── service/ │   ├── model/ │   ├── util/ │   └── trait/ ├── config/ └── route.php 

注意:这里的 common 是独立于各个应用的顶层目录,不属于任何一个具体应用。

2. 配置自动加载

Composer 支持 PSR-4 自动加载,需在 composer.json 中注册公共模块的命名空间。

立即学习PHP免费学习笔记(深入)”;

修改 composer.json

 "autoload": {     "psr-4": {         "app": "app/",         "common": "common/"     } } 

保存后运行命令更新自动加载:

composer dump-autoload

之后就可以在任何应用中使用 commonserviceUserService 这样的命名空间引用公共类。

thinkphp多应用模式下公共模块如何创建

Follow

Follow是一个集成了人工智能、区块链和社交功能的下一代RSS信息浏览器。

thinkphp多应用模式下公共模块如何创建162

查看详情 thinkphp多应用模式下公共模块如何创建

3. 在应用中调用公共模块

例如,在 home 应用的控制器中使用公共模型或服务:

 namespace apphomecontroller; <p>use commonmodelUser; use commonserviceUserService; use thinkController;</p><p>class UserController extends Controller { public function info($id) { $user = User::find($id); $data = UserService::formatUserInfo($user); return json($data); } }</p>

只要命名空间正确,ThinkPHP 会自动加载公共模块中的类。

4. 公共配置与中间件

如果需要共享配置文件,可在 config/ 目录下定义公共配置项,如 api.phpservices.php,然后在各应用中通过 config(‘api.key’) 调用。

公共中间件也可放在 common/middleware/,并在各应用路由中引用:

 // 在 app/home/route.php 中 use commonmiddlewareAuthMiddleware; <p>Route::rule('user/info', 'UserController/info')->middleware(AuthMiddleware::class);</p>

基本上就这些。关键是目录规划清晰,配合 Composer 自动加载,就能让多个应用高效共享代码。不复杂但容易忽略命名空间和加载配置。

以上就是thinkphp php js json composer app 工具 ai 路由 配置文件 代码复用 php composer 中间件 json thinkphp 命名空间

大家都在看:

thinkphp php js json composer app 工具 ai 路由 配置文件 代码复用 php composer 中间件 json thinkphp 命名空间

区块链
上一篇
下一篇