我们的系统一般会分为前台模块( index ) 以及 后台模块 ( admin )。我们初始化安装 thinkphp5 之后,系统会默认创建一个前台模块,但是其文件夹和文件不是完整的。那么,我们该如何创建 拥有前台 和 后台模块的 thinkphp5 应用呢?很辛运,thinkphp5 官方提供了自动生成目录功能。
>[info] ThinkPHP5.0 具备自动创建功能,可以用来自动生成需要的模块及目录结构和文件等,自动生成主要调用\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
return [
// 生成应用公共文件
'__file__' => ['common.php', 'config.php', 'database.php'],
// 后台模块
'admin' => [
'__file__' => ['common.php', 'config.php', 'database.php'],
'__dir__' => ['behavior', 'controller', 'model', 'view'],
'controller' => ['Index'],
'model' => [],
'view' => ['index/index'],
],
// 前台模块
'index' => [
'__file__' => ['common.php', 'config.php', 'database.php'],
'__dir__' => ['behavior', 'controller', 'model', 'view'],
'controller' => ['Index'],
'model' => [],
'view' => ['index/index'],
]
// 其他更多的模块定义
];
~~~
>[danger] 运行下面的命令之前,确保你的 php命令行模式 可以运行。
**首先进入系统的根目录**,默认会读取应用目录application下面的build.php 作为自动生成的定义文件,如果你的定义文件位置不同,则需要使用--config参数指定如下:
~~~
>php think build --config build.php
~~~
表示读取根目录下的build.php文件。
输入上面的命令,你会看到:
~~~
Successed
~~~
![](https://box.kancloud.cn/0423fcbc96e1e27e2c2c947f53a809c7_413x57.jpg)
此时,你就会在 phper 下面的 application 下,看到完整的 admin 和 index 文件夹。
访问 www.phper.com 和 www.phper.com/admin 均可看到页面。
>[danger] 如果你访问 www.phper.com/admin 出现如下错误:
No input file specified.
那么,请打开 public/.htaccess 文件,将 index.php/$1 修改为 index.php?/$1
- 前言
- 安装thinkphp5
- 快速搭建前后台模块
- 系统登录的实现
- 图形验证码的实现
- 使用layer完成用户增删改查
- 用户列表的展示
- 增加用户
- layer弹出层的使用1
- layer弹出层的使用2
- 编辑用户
- 删除用户
- 重构用户列表
- laypage分页插件的应用
- laytpl模板引擎的应用
- 完成重构
- 其他layer系列插件
- upload实现文件图片的异步上传
- laytree树形菜单
- 省市县三级联动
- datable的应用
- UEditor的使用
- 新闻小爬虫的实现
- 页面静态化的实现
- 通过phpexcel导入数据
- ztree树形菜单
- 生成二维码
- 权限设计
- 从rbac到auth
- auth前的准备工作
- auth权限设计
- auth的最终呈现
- php常用函数合集
- 生成随机IP
- 身份证验证
- 对象转换成数组
- 无限极分类
- 通过ip定位城市
- 源码下载