您的位置:首页 > 编程语言 > PHP开发

ThinkPHP5 ,自动生成模块目录

2017-12-18 20:30 666 查看

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为起始目录,dirfile 表示需要自动创建目录和文件,其他的则表示为模块自动生成。

模块的自动生成则以 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 应用目录下看到生成的文件就表示成功了!



想要了解更多点击参考官方文档
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  thinkphp