hinkphp5 官方提供了自动生成目录功能,可以用来自动生成需要的模块及目录结构和文件等,自动生成主要调用\think\Build类库。
默认的框架的根目录下面自带了一个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访问控制器文件用于显示框架的欢迎页面。
因此,我们在 build.php 中做如下配置:
~~~
<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006~2018 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: liu21st <liu21st@gmail.com>
// +----------------------------------------------------------------------
return [
// 生成应用公共文件
'__file__' => ['common.php', 'config.php', 'database.php'],
// 定义demo模块的自动生成 (按照实际定义的文件名生成)
'demo' => [
'__file__' => ['common.php'],
'__dir__' => ['behavior', 'controller', 'model', 'view'],
'controller' => ['Index', 'Test', 'UserType'],
'model' => ['User', 'UserType'],
'view' => ['index/index'],
],
// 其他更多的模块定义
// 商城模块
'shop' => [
'__file__' => ['common.php', 'config.php'],
'__dir__' => ['behavior', 'controller', 'model', 'view'],
'controller' => ['Index'],
'model' => [],
'view' => ['index/index'],
],
];
~~~
>[warning] 运行下面的命令之前,确保你的 php命令行模式 可以运行。
>
首先进入系统的根目录,默认会读取应用目录application下面的build.php 作为自动生成的定义文件,如果你的定义文件位置不同,则需要使用--config参数指定如下:
~~~
>php think build --config build.php
~~~
表示读取根目录下的build.php文件。
输入上面的命令,你会看到:Successed
![](https://box.kancloud.cn/b5d3472da006fceab696b78778a8a0d5_592x117.png)
此时,打开application目录就可以看到创建的模块了
![](https://box.kancloud.cn/7b9d7b441f9aa8c2477afda0c9974d08_528x276.png)
- 心灵笔记
- __construct()和__initialize()
- 使用build.php快速搭建前后台
- tp5验证码类实现实例
- 【实例1】topthink/think-captcha实现
- 【实例2】extend拓展验证码实现
- 【实例3】composer在packagist引入验证码
- tp5二维码类实例实现
- 【实例1】aferrandini/phpqrcode实现二维码
- 【实例2】endroid/qrcode实例
- TP5时间戳
- 【要点1】将时间戳以日期格式写入页面
- 【要点2】将date时间以int时间戳存入数据库
- ThinkPHP5自动时间戳功能总结
- 提交表单到控制器
- 【方法1】原生提交tp5+layui
- 【方法2】jquery+ajax提交
- 【方法3】layui监听ajax提交
- tp5+layui的批量删除
- 【要点1】实现方法
- 【文件1】后端页面User.php
- 【文件2】前端页面index.html
- tp5success与error跳转页面的美化
- tp5+layui完整的增删改查demo
- controller
- User.php
- model
- UserModel.php
- view
- index.html
- user_add.html
- user_edit.html
- user_password.html
- 源码下载
- tp5+ztree整合
- 【要点1】tp5+ztree树插件整合
- 【要点2】分配权限
- URL访问
- 【要点1】因此index.php文件
- 【要点2】IIS7+thinkphp隐藏index.php
- tp5无限分类技巧
- ThinkPHP5模型软删除功能详解
- tp5模型的使用
- ThinkPHP5使用模型查询数据
- ThinkPHP5使用模型新增数据
- ThinkPHP5使用模型更新数据
- ThinkPHP5数据查询表达式生成技巧
- tp5图片上传
- 【方法1】原生input图片上传
- 【方法2】整合layui预览实现上传
- tp5分页处理
- tp5读出配置文件
- tp5整合省市县3级联动
- 验证器的使用
- 【验证多个属性】
- tp5整理后台菜单显示
- tp5传参闭包查询
- 渲染技巧
- 【1】输出函数
- 【2】复选框
- 【3】图片上传并预览
- 【4】默认值
- 【5】分页
- 【6】【重点】自定义函数
- 文章阅读量功能
- 数组操作
- 关于上一新闻与下一新闻的处理
- 审核处理
- tp5控制中调节编码
- 获取域名