tp5目录详情及其新特性

本文介绍了ThinkPHP5的默认应用目录详情,包括访问路径的变化,即从http://localhost/thinkphp/index.php?m=Admin&c=Login&a=index变为http://localhost/thinkphp5/public/index.php。此外,还讲解了如何自定义模块,可通过复制或使用build.php文件创建。另外,文章提到了tp5的分页机制,只需在Model层调用paginate方法并在视图中使用render方法。更多新特性可参考官方文档。
摘要由CSDN通过智能技术生成
  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中存放的对数据的验证规则: 

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







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值