thinkPHP5默认自带了一个定义自动生成规则文件
- <?php
- return [
- // 生成应用公共文件
- '__file__' => ['common.php', 'config.php', 'database.php'],
- // 定义demo模块的自动生成 (按照实际定义的文件名生成)
- 'demo' => [
- '__file__' => ['common.php'], //生成的文件,不定义会默认生成config.php文件
- '__dir__' => ['behavior', 'controller', 'model', 'view'], //生成目录(支持多级目录)
- 'controller' => ['Index', 'Test', 'UserType'], //生成controller类
- 'model' => ['User', 'UserType'], //生成model类
- 'view' => ['index/index'], //生成html文件,支持子目录
- ],
- // 其他更多的模块定义
- ];
模块的自动生成则以 APP_PATH.'模块名/' 为起始目录
在入口文件index.php中tp5已经定义了APP_PATH,即起始目录位于applicaton文件夹下
- define('APP_PATH', __DIR__ . '/../application/');
并且会自动生成模块的默认的Index访问控制器文件用于显示框架的页面
2.自动生成目录操作
在入口文件index.php中可以直接调用\think\类的方法进行自动生成:
- <?php
- // 定义应用目录
- define('APP_PATH', __DIR__ . '/../application/');
- // 加载框架引导文件
- require __DIR__ . '/../thinkphp/start.php';
- // 读取自动生成定义文件
- $build = include './../build.php';
- // 运行自动生成
- \think\Build::run($build);
运行tp5 这时在打开application文件下,会多出一个demo文件夹:(demo)可定义结构,
调用think/Build的run操作
也可以直接使用默认目录生成模块
- <?php
- // 定义应用目录
- define('APP_PATH', __DIR__ . '/../application/');
- // 加载框架引导文件
- require __DIR__ . '/../thinkphp/start.php';
- // 自动生成admin模块
- \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