ThinkpHP AOP 사상 과 유사 한 매개 변수 검증 의 실현 방법
정의 검증 기 기본 클래스
기본 클래스 app\common\validator\\BaseValidator.php 정의
<?php
namespace app\common\validator;
use app\common\exception\ParamException;
use think\Validate;
class BaseValidator extends Validate
{
/**
* @param string $scene
* @return bool
* @throws ParamException
*/
public function checkParams($scene='')
{
$params = input('param.');
$res = $this->scene($scene)->check($params);
if( ! $res ){
$error = $this->error;
if(is_array($error)){
$error = implode(',',$error);
}
throw new ParamException(['errMsg'=>$error,]);
}
return $res;
}
//
}
정의 검증 기
<?php
namespace app\common\validator\user;
use app\common\validator\BaseValidator;
class UserValidator extends BaseValidator
{
protected $rule = [
'name' => 'require|max:25',
'age' => 'number|between:1,120',
'email' => 'email',
];
protected $message = [
'name.require' => ' ',
'name.max' => ' 25 ',
'age.number' => ' ',
'age.between' => ' 1-120 ',
'email' => ' ',
];
protected $scene = [
'register' => ['name','email'],
];
}
검증 매개 변수User.php 컨트롤 러 register 방법,실례 화 검증 기,그리고 장면 검증 을 실시한다.
public function register(Request $request){
$validator = new UserValidator();
$validator->checkParams('register');
.
.
.
}
이로써 AOP 사상 과 유사 한 매개 변수 검증 이 완료 됐다.이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
ThinkPHP의 도메인 간 공유 세션한동안 의 연구 를 거쳐 마침내 돌파구 를 이루었다 두 웹 사이트: think.local think2.local 주요 원리는 다음과 같습니다. 1、think에서 통과.local 실행 js 스크립트,think2.loc...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.