如何使用ThinkPHP5 ,自动生成目录?
具体步骤:
A.在build.php中按照实际需求修改定义模块的内容;
B.修改Public/index.php,在代码中加入:
// 读取自动生成定义文件
$build = include '/../build.php';
// 运行自动生成
\think\Build::run($build,'test',true);
C.运行localhost/项目名称/public/index.php
成功!
1.首先需要定义一个用于自动生成的规则定义文件,通常命名为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__' => ['hello.php','test.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'], ], ];
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号