第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

實(shí)戰(zhàn):Thinkphp+MySQL電影點(diǎn)播系統(tǒng)04-驗(yàn)證器與自定義異常

標(biāo)簽:
MySQL ThinkPHP

前言

每天上班下班,让生活更充实,让自己的工作更具挑战,生活每天都要充满激情,因为我们的好奇心,因为我们的求知欲,我们的生活和工作变得那么的多彩。
图片描述

验证器

这里有一个验证器的概念,就是对传参进行校验,不符合则不进行处理,用 tp5 里自带的验证器,我觉得是很必要的,前端 JavaScript 是可以校验,但是我认为后台也必须要校验一次,不能对客户端传来的参数过分相信,所以服务端也要校验一次。
而且以面向对象的姿态来创建这个验证器,所以在本系统里很容易见到一个基类,而这个基类是继承自 tp5 自带的一个类,这样方便扩展,也体现了面向对象的一个特性:继承。

<?php
class BaseValidate extends Validate
{
    public function goCheck(){
        //获取 当前请求信息
        $request=Request::instance();
        //获取 请求参数数组
        $params=$request->param();
        //批量验证
        $result=$this->batch()->check($params);
        if(!$result){
            $e=new ParameterException([
                'msg'=>$this->error,

            ]);
            throw $e;
        }else{
            return true;
        }
    }
    protected function isPositiveInteger($value,$rule='',$data='',$field=''){
        if(is_numeric($value)&&is_int($value+0)&&($value+0)>0){
            return true;
        }else{
            return false;
        }
    }
}

要点:获取参数的方式是 Request::instance(),然后批量验证,验证是通过 protected $rule 规则实现,验证 BaseValidate 里自定义规则

protected $rule=[
        'id'=>'require|isPositiveInteger'
    ];
    protected $message=[
        'id'=>'id参数必须是正整数'
    ];

自定义异常

首先需要配置好 config.php 文件,我们创建一个 ExceptionHanler 来覆盖 tp5 自带异常机制。
修改 config.php 的第159行

// 异常处理handle类 留空使用 \think\exception\Handle
’exception_handle’ => ‘app\lib\exception\ExceptionHandler’,

然后重写 render 方法,可以自定义错误状态码,错误提示信息,以及错误的 URL 。
修改 config.php 34行,开启返回值为 JSON

// 默认输出类型
’default_return_type’ => ‘json’,

自定义异常的好处

好处就是返回值,对前端友好,提供简明扼要的信息,提供自定义错误,不提示一些系统自带的参数和报错,提供系统的安全性。
也有缺点,缺点就是,如果产生报错了,可能看不到必要的信息,不方便调试,必要的时候,还是需要调试代码的。

总结

图片描述
不知道你们对 PHP 里的 “=>”这样的箭头是否适应,反正我觉得怪怪的,可能写得实在是太少了吧。不过必须要夸夸 PHP ,开发速度确实很快,还不用在线下载 JAR 包,想想都觉得舒服,给我感觉是很迅速可以实现目标的代码,整体都很轻便。
本次项目我是 SSM 框架与 Thinkphp5 框架同时写的,有很明显的对比,代码量一开始就有很大区别,PHP 里我没有写 SQL 语句,我没有写 getter 和 setter,我甚至都不用一个个挑选返回值,运用一个 protected 就能控制返回的 JSON 串里是否需要输出我想要的。
目前来讲,PHP 还是有很大优势的,至少是短期的,少迭代的项目,完全可以考虑 PHP 开发。

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
JAVA開發(fā)工程師
手記
粉絲
31
獲贊與收藏
155

關(guān)注作者,訂閱最新文章

閱讀免費(fèi)教程

  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消