[thinkPHP5项目实战_05]自动生成目录结构
来源:互联网 发布:linux 运维自动化 web 编辑:程序博客网 时间:2024/05/19 16:04
ThinkPHP5.0 具备自动创建功能,可以用来自动生成需要的模块及目录结构和文件等,自动生成主要调用\think\Build类库。
1.定义生成目录规则
thinkPHP5默认自带了一个定义自动生成规则文件,build.php,位于根目录下
<?phpreturn [ // 生成应用公共文件 '__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\Build类的方法进行自动生成:
<?php// 定义应用目录define('APP_PATH', __DIR__ . '/../application/');// 加载框架引导文件require __DIR__ . '/../thinkphp/start.php';// 读取自动生成定义文件$build = include './../build.php';// 运行自动生成\think\Build::run($build);保存后在浏览器地址栏输入localhost/tp5/public/运行tp5
这时在打开application文件下,会多出一个demo文件夹:
也可以直接使用默认目录生成模块
<?php// 定义应用目录define('APP_PATH', __DIR__ . '/../application/');// 加载框架引导文件require __DIR__ . '/../thinkphp/start.php';// 自动生成admin模块\think\Build::module('admin');
3.自定义模块的访问
根据tp5URL访问规则:http://serverName/index.php(或者其它应用入口文件)/模块/控制器/操作/[参数名/参数值...]
默认访问地址http://localhost/tp5/public/访问的是index.php,index.php中定义了应用入口文件夹application,默认访问的是index模块下的Index控制器下的index类
等效于访问地址http://localhost/tp5/public/index.php/index/index/index
因此,若访问上面建立的demo模块的Index控制器的index类,访问地址应为:http://localhost/tp5/public/index.php/demo/index/index
打开demo/controller/Index.php,修改为:
<?phpnamespace app\demo\controller;class Index{ public function index() { return 'demo'; }}
保存退出后浏览器访问结果为:
阅读全文
0 0
- [thinkPHP5项目实战_05]自动生成目录结构
- Thinkphp5.0实战开发------自动生成目录结构
- Thinkphp5.0实战开发二------自动生成目录结构
- thinkPHP5 生成项目目录
- ThinkPHP5 ,自动生成模块目录
- Maven利用Archetype自动生成项目目录结构
- Thinkphp5.0中自动生成模块以及目录方案
- [thinkPHP5项目实战_08]模板分离和URL生成
- Thinkphp5命令行自动生成
- Mybatis上路_05-使用命令行自动生成
- ThinkPHP5目录结构的介绍
- ThinkPHP5模块的自动生成
- Java自动生成Mvp框架目录结构
- iOS项目开发实战(Swift)—项目目录和结构
- [thinkPHP5项目实战_06]引入前台页面
- [thinkPHP5项目实战_11]栏目修改
- [thinkPHP5项目实战_14]场景验证
- [thinkPHP5项目实战_16]文章列表展示
- 图文C语言指针
- 筛选法查找100以内的素数
- Jmeter监听器图形结果插件
- 排序算法之归并排序(JAVA)
- linux中的source命令和直接执行脚本的区别
- [thinkPHP5项目实战_05]自动生成目录结构
- kafka 高吞吐量性能揭秘
- Android混淆从入门到精通
- 初学者---简介java中的对象和类(1)
- 手头紧!贷款还不上该怎么办?影响征信吗?
- [转载] Android(线程一) 线程
- redis配置文件说明以及密码登录
- maven添加jar包
- 拔河比赛