一般的thinkphp框架一般都是单模块开发的,但有时候我们可能需要进行多模块开发,例如添加个后台管理的模块。这次给人讲课,在Tp多模块开发的配置上翻车,感觉很有必要总结下,话不多说,直接上干货。
总结下来 有两种方案可解决
- 手动配置:
- 在config.php文件中开启多模块开发模
2.在index模块的同级目录上手动添加admin模块(新建admin文件夹)
3.添加admin.php入口文件 copy在public文件夹下的index.php文件下的内容
从上面我们可以对比index.php 和 admin.php 发现在admin.php中define('APP_PATH', __DIR__ . '/../application/admin/');多了admin 其实在index.php中其实也存在,只是TP会自动省略index的路由信息。
- 官方配置(感觉高级)
- 在config.php文件中开启多模块开发模
- 在build.php 中自定义需要添加的模块demo
3.在项目的目录下执行:php think build --config build.php 【注意:命令如果无法执行 看看你的PHP环境变量是否配置】
4.入口文件配置copy index.php代码 强调必须要添加模块绑定的demo:define('BIND_MODULE','api/index'); //绑定到api模块的index控制器
<?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_PATH', __DIR__ . '/../application/'); // 绑定到api模块的index控制器 define('BIND_MODULE','api/index'); // 加载框架引导文件 require __DIR__ . '/../thinkphp/start.php';
- 配置成功截图