原文链接:https://www.whongbin.cn/index/article/detail/id/52.html
说点废话
每次在使用tp搭建新的项目的时候,实话说,创建目录是个毫无意义且机械的操作,后来才发现,tp可以自动生成目录结构,只能说我年少无知啊[aru_25].(ps:博主自学的tp5,接触不久,没搞过tp3[aru_2])
方法介绍
在安装完tp5的时候,根目录默认会生成一个
build.php
的文件,这个文件就是用来定义你即将要生成的目录规则的,据官方文档介绍,这个文件可以放在APP_PATH
目录下,区别在于调用二者的路径不同.
文件内容如下:
<?php
return [
// 生成应用公共文件
'__file__' => ['common.php', 'config.php'],
// 定义demo模块的自动生成 (按照实际定义的文件名生成)
'demo' => [
'__file__' => ['common.php'],
'__dir__' => ['behavior', 'controller', 'model', 'view'],
'controller' => ['Index', 'Test', 'UserType'],
'model' => ['User', 'UserType'],
'view' => ['index/index'],
],
// 其他更多的模块定义
];
上述代码执行后会在 appapplication
目录下生成 demo
目录,demo
中会生成如下文件,这些目录中包含哪些文件就不说了,自己动手试试吧[aru_47]
在PHP中执行自动生成
这种方法可以直接调用 \think\Build
类的方法进行自动生成,现在项目入口文件中添加执行代码,保存后直接访问网站即可自动生成:
<?php
// [ 应用入口文件 ]
// 定义应用目录
define('APP_PATH', __DIR__ . '/../application/');
define('MOULD_PATH', __DIR__ . '/../mould/');
define('SITE_URL', 'http://hatch.whongbin.cn');
// 加载框架引导文件
require __DIR__ . '/../thinkphp/start.php';
// 读取自动生成定义文件
$build = include __DIR__ . '/../build.php';
// 运行自动生成
\think\Build::run($build);
在命令行中执行生成
这种方法是在命令行中执行的(如果你的项目是放在PHP空间的话,这种方法不适用).连接服务器,进到项目根目录
在这有两个需要注意的地方:
- 如果你的
build.php
文件是放在application
目录下的,执行以下命令:
#这是默认命令,默认读取application目录下的build.php文件
>php think build
- 如果你的
build.php
文件是放在application
目录下的,执行以下命令:
>php think build --config build.php
- 如果你在
build.php
文件中定义了多个模块,现在只需要生成其中的某一个模块,执行下面命令(仅生成test模块):
>php think build --module test
上述命令执行后如果返回 Successed
, 证明命令已成功执行,模块已生成
啰嗦一句
说实话,我找到这个方法的时候着实高兴了一下下,一条命令就能省下多少时间啊,这些时间用来撩女朋友多好啊!哈哈[aru_147]