如何使用ThinkPHP5 ,自动生成目录?

 

具体步骤:php

 

 A.在build.php中按照实际需求修改定义模块的内容;html

 

 B.修改Public/index.php,在代码中加入:框架

 

// 读取自动生成定义文件
$build = include '/../build.php';
// 运行自动生成
\think\Build::run($build,'test',true);

 

 C.运行localhost/项目名称/public/index.php  ui

 

成功!spa

 

 

1.首先须要定义一个用于自动生成的规则定义文件,一般命名为build.phpcode

默认的框架的根目录下面自带了一个build.php示例参考文件,内容以下:htm

return [
    // 生成运行时目录
    '__file__' => ['common.php'],

    // 定义index模块的自动生成
    'index'    => [
        '__file__'   => ['common.php'],
        '__dir__'    => ['behavior', 'controller', 'model', 'view'],
        'controller' => ['Index', 'Test', 'UserType'],
        'model'      => [],
        'view'       => ['index/index'],
    ],
    // 。。。 其余更多的模块定义
];

能够给每一个模块定义须要自动生成的文件和目录,以及MVC类。blog

  • __dir__ 表示生成目录(支持多级目录)
  • __file__ 表示生成文件(不定义默认会生成 config.php 文件)
  • controller 表示生成controller类
  • model表示生成model类
  • view表示生成html文件(支持子目录)

自动生成以APP_PATH为起始目录,__dir__ 和 __file__ 表示须要自动建立目录和文件,其余的则表示为模块自动生成。get

模块的自动生成则以 APP_PATH.'模块名/' 为起始目录。io

而且会自动生成模块的默认的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'],
    ],
 ];
相关文章
相关标签/搜索