TP5多模块开发

时间:2024-03-01 12:31:06

一般的thinkphp框架一般都是单模块开发的,但有时候我们可能需要进行多模块开发,例如添加个后台管理的模块。这次给人讲课,在Tp多模块开发的配置上翻车,感觉很有必要总结下,话不多说,直接上干货。

总结下来 有两种方案可解决

  • 手动配置
  1. 在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的路由信息。

  • 官方配置(感觉高级) 
  1. 在config.php文件中开启多模块开发模
  2. 在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\';
  • 配置成功截图