tp5的主要目录:
tp5主要有以下的一些新特性:
tp5的分页机制默认显示15条数据你,也可自定义显示条数,在application目录下的config.php文件中可自定义。
├─application 应用目录(存放自定义模块,如前台,后台的模块)
├─extend 扩展类库目录(可定义)
├─public 网站对外访问目录(存放公用的文件例如css,js等文件)
├─runtime 运行时目录(可定义)
├─vendor 第三方类库目录(Composer)
├─thinkphp 框架核心目录
├─build.php 自动生成定义文件(可以用bulid.php文件生成application目录下的模块)
├─composer.json Composer定义文件
├─LICENSE.txt 授权说明文件
├─README.md README 文件
├─think 命令行工具入口
默认应用目录的详情:
├─application 应用目录(可设置)
│ ├─admin 模块目录(可创建其他模块目录)
│ │ ├─config.php 模块配置文件
│ │ ├─common.php 模块公共文件
│ │ ├─controller 控制器目录
| | |—validate 存放验证机制(对后台接收到的数据进行校验,tp5新增的机制)
│ │ ├─model 模型目录
│ │ └─view 视图目录
│ ││ ├─command.php 命令行工具配置文件
│ ├─common.php 应用公共文件
│ ├─config.php 应用配置文件
│ ├─tags.php 应用行为扩展定义文件
│ ├─database.php 数据库配置文件
│ └─route.php 路由配置文件
其中validate中存放的对数据的验证规则:
<?php
namespace app\admin\validate;
use think\Validate;
class Category extends Validate {
//对接收到的数据进行校验
protected $rule = [
['name', 'require|max:20', '用户名不能为空|用户名不能超过20个字符'],
['parent_id','number'],
['id', 'number'],
['status', 'number|in:-1,0,1','状态码必须是数字|状态范围不合法'],
['listorder', 'number'],
];
/**场景设置**/
protected $scene = [
'add' => ['name', 'parent_id', 'id'],// 添加
'listorder' => ['id', 'listorder'], //排序
'status' => ['id', 'status'],
];
}
在控制器调用如下:
$validate=Validate('Category');
if(!$validate->check($data)){
$this->error($validate->getError());
}
核心的目录详情:
├─thinkphp 框架系统目录
│ ├─lang 语言包目录
│ ├─library 框架核心类库目录
│ │ ├─think think 类库包目录
│ │ └─traits 系统 traits 目录
│ ├─tpl 系统模板目录
│ │
│ ├─.htaccess 用于 apache 的重写
│ ├─.travis.yml CI 定义文件
│ ├─base.php 框架基础文件
│ ├─composer.json composer 定义文件
│ ├─console.php 控制台入口文件
│ ├─convention.php 惯例配置文件
│ ├─helper.php 助手函数文件(可选)
│ ├─LICENSE.txt 授权说明文件
│ ├─phpunit.xml 单元测试配置文件
│ ├─README.md README 文件
│ └─start.php 框架引导文件
tp5主要有以下的一些新特性:
1.tp5的访问路径做了小的改动,tp3的访问路径一般是:http://localhost/thinkphp/index.php?m=Admin&c=Login&a=index 。tp5改动后的访问路径是:http://localhost/thinkphp5/public/index.php,tp5也可以通过端口号访问。
2.自定以模块:
在application模块下创建自定义模块有两种方式:第一种通过手动创建自定义模块,直接复制其他模块,改名即可。第二种方法是通过build.php文件创建自定义模块,如admin模块:
在application模块下创建build.php文件,然后输入以下内容,然后在根目录下执行php think build 就可以创建新的自定义模块了。
return[
'admin' => [
'__dir__' => ['controller','view',validate],
'controller' => ['Index'],
'view' => ['index/index'],
'validate'=>[Index],
],
];
3.tp5的分页机制:
在model层直接调用paginate方法即可,然后在页面中调用render方法,代码如下:
后台代码:
public function test()
{
$data = [
'id' => 1,
];
$order = [
'id' => 'desc',
];
return $this->where($data)
->order($order)
->paginate();
}
前台页面代码:
<div>{$category->render()}</div>
tp5的分页机制默认显示15条数据你,也可自定义显示条数,在application目录下的config.php文件中可自定义。
tp5还有许多新的特性,可参考tp5使用文档:https://www.kancloud.cn/manual/thinkphp5/118003