tp5本身已经支持多模块儿
本博客讲述的是 在application同级建立多应用
tp5官网摘要:
应用类库命名空间规范
应用类库的根命名空间统一为app(不建议更改,可以设置app_namespace配置参数更改,V5.0.8版本开始使用APP_NAMESPACE常量定义);
例如:app\index\controller\Index和app\index\model\User。
一、在public文件夹下创建mobile.php
<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006-2016 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: liu21st <liu21st@gmail.com>
// +----------------------------------------------------------------------
//定义根命名空间
define('APP_NAMESPACE','mobile');
// [ 应用入口文件 ]
// 定义应用目录
define('APP_PATH', __DIR__ . '/../mobile/');
// 加载框架引导文件
require __DIR__ . '/../thinkphp/start.php';
相较于public下index.php,这里修改了默认的根命名空间(app),并修改了应用目录
二、修改psr-4自动加载
参考:https://www.cnblogs.com/wangmy/p/6692970.html
修改composer.json
修改前:
"autoload": {
"psr-4": {
"app\\": "application"
}
}
修改后:
"autoload": {
"psr-4": {
"app\\": "application",
"mobile\\":"mobile"
}
}

注意:之后新建的类库的根命名空间为mobile
例如:mobile应用下的 index模块儿下的 Index控制器
<?php
namespace mobile\index\controller;
class Index {
public function index() {
return 123;
}
}
本文详细介绍如何在ThinkPHP5中配置多应用,包括修改公共文件夹下的mobile.php,定义移动应用的根命名空间和应用目录,以及如何调整composer.json中的自动加载规则,确保新类库正确载入。
2472

被折叠的 条评论
为什么被折叠?



