ThinkPHP5如何自动生成模块目录
[重要通告]如您遇疑难杂症,本站支持知识付费业务,扫右边二维码加博主微信,可节省您宝贵时间哦!
tp5不能像tp3那样,不用任何配置直接访问就能生成目录,tp5的目录生成依赖build.php文件
一:访问的形式生成
需要在入口文件Public/index.php中加两句:
// 读取自动生成定义文件
$build = include '/../build.php';
// 运行自动生成
\think\Build::run($build);
注意:
\think\Build::run($build); 要放在require __DIR__ . '/../thinkphp/start.php';框架引导文件的下面。不然会报错找不到\think\Build::run($build); 方法
命令行自动生成
我们通过控制台来完成自动生成,切换到命令行,在应用的根目录输入下面命令:
注意:
这是你已经配置好了php环境变量的情况下这样才成功。
还不会配置环境变量的盆友可以到网上找找php配置环境变量在这里我就不多说了。
如果你不想配置环境变量的话也有一个比较麻烦的方法。就是从控制台进入到你的php.exe文件下执行
二:在build.php配置内容
默认的框架的根目录下面自带了一个build.php示例参考文件,内容如下:
return [
// 生成运行时目录
'__file__' => ['common.php'],
// 定义index模块的自动生成
'index' => [
'__file__' => ['common.php'],
'__dir__' => ['behavior', 'controller', 'model', 'view'],
'controller' => ['Index', 'Test', 'UserType'],
'model' => [],
'view' => ['index/index'],
],
// 。。。 其他更多的模块定义
];
可以给每个模块定义需要自动生成的文件和目录,以及MVC类。
dir 表示生成目录(支持多级目录)
file 表示生成文件(不定义默认会生成 config.php 文件)
controller 表示生成controller类
model表示生成model类
view表示生成html文件(支持子目录)
自动生成以APP_PATH为起始目录,dir 和 file 表示需要自动创建目录和文件,其他的则表示为模块自动生成。
模块的自动生成则以 APP_PATH.’模块名/’ 为起始目录。
并且会自动生成模块的默认的Index访问控制器文件用于显示框架的欢迎页面。
我们还可以在APP_PATH目录下面自动生成其它的文件和目录,或者增加多个模块的自动生成,例如:
return [
'__file__' => ['common.php', 'config.php', 'database.php'],
// 定义index模块的自动生成
'index' => [
'__file__' => ['tags.php', 'user.php', 'hello.php'],
'__dir__' => ['behavior', 'controller', 'model', 'view'],
'controller' => ['Index', 'Test', 'UserType'],
'model' => [],
'view' => ['index/index'],
],
// 定义test模块的自动生成
'test'=>[
'__dir__' => ['behavior','controller','model','widget'],
'controller'=> ['Index','Test','UserType'],
'model' => ['User','UserType'],
'view' => ['index/index','index/test'],
],
];
运行localhost/项目名称/public/index.php 然后就出现
在application 应用目录下看到生成的文件就表示成功了!
问题未解决?付费解决问题加Q或微信 2589053300 (即Q号又微信号)右上方扫一扫可加博主微信
所写所说,是心之所感,思之所悟,行之所得;文当无敷衍,落笔求简洁。 以所舍,求所获;有所依,方所成!