【ThinkPHP】解析ThinkPHP5创建模块
在根目录下有一个build.php文件,该文件是自动生成的,自动创建模块。
build.php的文件内容如下:
<?php return [ // 生成应用公共文件 '__file__' => ['common.php', 'config.php', 'database.php'], // 定义demo模块的自动生成 (按照实际定义的文件名生成) 'demo' => [ '__file__' => ['common.php'], '__dir__' => ['behavior', 'controller', 'model', 'view'], 'controller' => ['Index', 'Test', 'UserType'], 'model' => ['User', 'UserType'], 'view' => ['index/index'], ], // 其他更多的模块定义 ];
其中
__dir__ 表示生成目录,可以支持多级目录
__file__ 表示生成文件,不定义默认会生成config.php和common.php文件
controller 表示生成的controller类
model 表示生成model类
view 表示生成html文件
默认的build.php文件,只有一个demo模块。可以按照上面的demo模板,定义更多的模块。
接下就是生成模块文件了,有两种模块生成方式,第一种是通过命令行方式,第二种是通过链接访问的方式。
命令行方式:
首先拷贝根目录下的build.php文件到application文件夹下,然后在项目的根目录下执行命令
php think build --module demo
执行结果显示Success,表示生成成功。如果不指定--module参数,那么将会生成build.php中配置的所有的模块。
链接访问方式:
通过在项目目录下的public/index.php文件中进行配置,然后通过链接访问的方式完成生成模块目录:
index.php文件原来的内容如下:
<?php // [ 应用入口文件 ] // 定义应用目录 define('APP_PATH', __DIR__ . '/../application/'); // 加载框架引导文件 require __DIR__ . '/../thinkphp/start.php';
然后在index.php后面加上如下语句:
$build = include APP_PATH.'/../build.php'; \think\Build::run($build);
这里要找对build.php文件的位置,不同的环境可能不一样
然后访问 http://localhost/项目名称/public/index.php ,就完成模块目录的生成了。