6基础控制器
未知
2021-07-04 10:27:52
0

大多数情况下,我们建议给你的控制器继承一个基础控制器。

默认安装后,系统提供了一个app\BaseController基础控制器类,你可以对该基础控制器进行修改。

基础控制器的位置可以随意放置,只需要注意更改命名空间即可。

该基础控制器仅仅提供了控制器验证功能,并注入了think\Appthink\Request对象,因此你可以直接在控制器中使用apprequest属性调用think\Appthink\Request对象实例,下面是一个例子:

namespace app\controller;

use app\BaseController;

class Index extends BaseController
{
    public function index()
    {
        $action = $this->request->action();
        $path = $this->app->getBasePath();
    }
}
复制

控制器验证

基础控制器提供了数据验证功能,使用如下:

namespace app\controller;

use app\BaseController;
use think\exception\ValidateException;

class Index extends BaseController
{
    public function index()
    {
        try {
            $this->validate( [
                'name'  => 'thinkphp',
                'email' => 'thinkphp@qq.com',
            ],  'app\index\validate\User');
        } catch (ValidateException $e) {
            // 验证失败 输出错误信息
            dump($e->getError());
        }
    }
}
复制

该示例使用了验证器功能,具体可以参考验证章节的验证器部分,这里暂时不做展开。

如果需要批量验证,可以改为:

namespace app\controller;

use app\BaseController;
use think\exception\ValidateException;

class Index extends BaseController
{
    // 开启批量验证
    protected $batchValidate = true;

    public function index()
    {
        try {
            $this->validate( [
                'name'  => 'thinkphp',
                'email' => 'thinkphp@qq.com',
            ],  'app\index\validate\User');
        } catch (ValidateException $e) {
            // 验证失败 输出错误信息
            dump($e->getError());
        }
    }
}
复制

上一篇:6控制器定义

下一篇:6空控制器

相关内容

网络木马攻击的现状与案例分...
摘要:网络木马攻击频繁发生,手段多样、传播途径广泛,危害严重。本文...
2025-02-10 02:00:42
使用 PHP upload...
使用 PHP 的 `upload_max_filesize` 时,...
2025-02-09 13:23:41
XSS攻击对网络安全的影响...
XSS攻击是网络常见攻击手段,可导致数据泄露、网站篡改等严重后果。...
2025-02-09 07:46:36
PHP SysVshm 基...
PHP SysVshm 简介:一种基于 System V 的共享内...
2025-02-07 19:00:45
FTPD服务器实例选择与配...
本文提供了FTPD服务器实例选择与配置建议,包括常见软件选择、硬件...
2025-02-07 04:00:41
MySQL索引的优化技巧
MySQL索引优化技巧:选择合适索引列、多列索引、避免过度索引、利...
2025-02-07 01:00:41

热门资讯

tp6开发规范 命名规范 请理解并尽量遵循以下命名规范,可以减少在开发过程中出现不必要的错误。 ThinkPHP6....
6高级查询 快捷查询 快捷查询方式是 一种多字段相同查询条件 的简化写法,可以进一步简化查询条件的写法,在多个字...
tp6多应用提示控制器不存在:... 第一个情况是没有使用composer安装扩展。 如果要使用多应用模式, 你需要win+r,cmd指针...
6配置 配置目录 单应用模式 对于单应用模式来说,配置文件和目录很简单,根目录下的 config 目录下面就...
6异常处理 和PHP默认的异常处理不同,ThinkPHP抛出的不是单纯的错误信息,而是一个人性化的错误页面。 异...
6swoole 本篇内容主要讲述了最新的 think-swoole 扩展的使用。目前仅支持Linux环境或者MacO...
6助手函数 助手函数 系统为一些常用的操作方法封装了助手函数,便于使用,包含如下: 助手函数 描述 abort ...
6查询表达式 查询表达式 查询表达式支持大部分的SQL查询语法,也是 ThinkPHP 查询语言的精髓,查询表达式...
6路由参数 路由参数 路由分组及规则定义支持指定路由参数,这些参数主要完成路由匹配检测以及后续行为。 路由参数可...
6查询 模型查询和数据库查询方法的区别主要在于,模型中的查询的数据在获取的时候会经过获取器的处理,以及更加对...