thinkphp自动生成目录结构

thinkPHP5默认自带了一个定义自动生成规则文件

[php]  view plain  copy
  1. return [  
  2.     // 生成应用公共文件  
  3.     '__file__' => ['common.php''config.php''database.php'],  
  4.   
  5.     // 定义demo模块的自动生成 (按照实际定义的文件名生成)  
  6.     'demo'     => [  
  7.         '__file__'   => ['common.php'], //生成的文件,不定义会默认生成config.php文件  
  8.         '__dir__'    => ['behavior''controller''model''view'], //生成目录(支持多级目录)  
  9.         'controller' => ['Index''Test''UserType'],  //生成controller类  
  10.         'model'      => ['User''UserType'],  //生成model类  
  11.         'view'       => ['index/index'], //生成html文件,支持子目录  
  12.     ],  
  13.     // 其他更多的模块定义  
  14. ];  

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

在入口文件index.php中tp5已经定义了APP_PATH,即起始目录位于applicaton文件夹下

[php]  view plain  copy
  1. define('APP_PATH', __DIR__ . '/../application/');  

并且会自动生成模块的默认的Index访问控制器文件用于显示框架的页面

2.自动生成目录操作

在入口文件index.php中可以直接调用\think\类的方法进行自动生成:

  1.   
  2. // 定义应用目录  
  3. define('APP_PATH', __DIR__ . '/../application/');  
  4. // 加载框架引导文件  
  5. require __DIR__ . '/../thinkphp/start.php';  
  6. // 读取自动生成定义文件  
  7. $build = include './../build.php';  
  8. // 运行自动生成  
  9. \think\Build::run($build); 

运行tp5 这时在打开application文件下,会多出一个demo文件夹:(demo)可定义结构,

调用think/Build的run操作

也可以直接使用默认目录生成模块 

[php]  view plain  copy
  1.   
  2. // 定义应用目录  
  3. define('APP_PATH', __DIR__ . '/../application/');  
  4. // 加载框架引导文件  
  5. require __DIR__ . '/../thinkphp/start.php';  
  6. // 自动生成admin模块  
  7. \think\Build::module('admin');  

调用think/Build的module操作

3.自定义模块的访问

默认访问地址http://localhost/tp5/public/访问的是index.php,index.php中定义了应用入口文件夹application,默认访问的是index模块下的Index控制器下的index类

http://localhost/tp5/public/index.php/index/index/index

所以,若访问上面建立的demo、admin模块的Index控制器的index类,访问地址应为:

http://localhost/tp5/public/index.php/demo/index/index

http://localhost/tp5/public/index.php/admin/index/index




你可能感兴趣的:(thinkphp)