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空控制器

相关内容

MySQL视图:基础概念与...
MySQL视图是一种虚拟的表,由SQL查询定义。创建视图需使用CR...
2026-01-29 01:23:44
"如何设置PHP的min_...
摘要: 本文介绍了PHP-FPM中`min_spare_serv...
2025-12-29 01:23:49
"从基础到实践:关于PHP...
本文详细介绍了PHP `min_spare_servers` 参数...
2025-12-28 01:23:46
如何选择合适的MySQL存...
本文详细介绍了如何根据需求选择合适的MySQL存储引擎,包括了解存...
2025-09-26 01:23:45
MySQL索引优化实战技巧
MySQL索引优化是提高查询速度、确保数据快速访问的关键。选择合适...
2025-06-04 01:23:43
提升云服务器CPU效率的策...
摘要: 本文介绍了提升云服务器CPU效率的策略与建议,包括优化应...
2025-04-03 12:27:14

热门资讯

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