tp5目录详情及其新特性

来源:互联网 发布:php mysql apache 编辑:程序博客网 时间:2024/06/05 18:23
  tp5的主要目录:
├─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中存放的对数据的验证规则:

<?phpnamespace 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







原创粉丝点击