\eapieerror

Summary

Methods
Properties
Constants
__construct()
check()
No public properties found
No constants found
No protected methods found
No protected properties found
N/A
_check_submethod()
No private properties found
N/A

Methods

__construct()

__construct(  $x = NULL,   $y = '') : void

重定义构造器使 message 变为必须被指定的属性 确保所有变量都被正确赋值 当$x 为int 那么就是 $code,而$y即$message 当$x 为string 那么就是$message, $code 等于-1。为自定义错误信息

Parameters

$x
$y

check()

check(array  $data, string  $data_key, string  $class_name, array  $check = array(), string  $check_key = NULL, boolean  $is_error_return = FALSE) : \eapie\throw

数据检测

例如: object(parent::ERROR)->check( 要检测的数据$data, 要检测的键'user_id', 要调用的数据表检测组parent::TABLE_USER, 判断项 array('exist', 'max_length') 判断项的键 '编码'//如果为空,那么则与检测的数据键一致 是否返回错误信息,默认false 直接throw new error )

'password' => array( //20014{"zh_cn":"登录密码不合法","en_us":""} //20015{"zh_cn":"登录密码不能为空","en_us":""} //20016{"zh_cn":"登录密码数据类型有误","en_us":""} 'args'=>array('exist'=>array(20014), '!null'=>array(20015), 'echo'=>array(20016) ),//参数检测

    //20017{"zh_cn":"登录密码的字符长度太多","en_us":""}
    //20018{"zh_cn":"登录密码的字符长度太多","en_us":""}
    'length' => array('>=length'=>array(6, 20017), '<=length'=>array(36, 20018)),//字符长度检测
    ),

//没有判断参数,只写错误信息,那么第二个参数即是 额外的错误信息 'exist'=>array("数据必须存在") 不存在,返回false, 则触发错误信息 '!exist'=>array("数据不能存在") 存在,返回false, 则触发错误信息 'null'=>array("数据必须为空") 不为空,返回false, 则触发错误信息。是判断可echo 能输出的变量 '!null'=>array("数据不能为空") 为空,返回false, 则触发错误信息。是判断可echo 能输出的变量

//在数据存在的情况下检测。可输出的数据类型 is_string || is_numeric 'echo'=>array("数据必须是可echo输出") 不能输出,返回false, 则触发错误信息 '!echo'=>array("数据是echo不能输出的") 能输出,返回false, 则触发错误信息

//在数据存在的情况下检测。 'match'=>array('/^([a-zA-Z0-9]+)@([^.]+).(\w+)$/iu', "xx格式不合法" ) 没匹配到, 则触发错误信息。这里也是要先判断是可echo输出,不然会直接报错 '!match'=>array('/^([a-zA-Z0-9]+)@([^.]+).(\w+)$/iu', "xx格式合法" ) 匹配到, 则触发错误信息

//在数据不为空的情况下检测。任何字符是根据所占字节来判断长度 函数 strlen。这里也是要先判断是可echo输出,不然会直接报错 'length'=>array(36, "xx字符长度必须等于36" ) //不等于限制字数返回false '!length'=>array(36, "xx字符长度必须不等于36" ) //等于限制字数, 则触发错误信息 '>length'=>array(36, "xx字符太少" ) //必须大于限制字数,小于限制字数返回false '<length'=>array(36, "xx字符太多" ) //必须小于限制字数,大于限制字数返回false

//在数据不为空的情况下检测。一个汉字占2个字符,一个字母占一个 函数 mb_strwidth。这里也是要先判断是可echo输出,不然会直接报错。 'width'=>array(36, "xx字符长度必须等于36" ) //不等于限制字数返回false '!width'=>array(36, "xx字符长度不等于36" ) //等于限制字数, 则触发错误信息 '>width'=>array(36, "xx字符太少" ) //必须大于限制字数,小于限制字数返回false '<width'=>array(36, "xx字符太多" ) //必须小于限制字数,大于限制字数返回false

//执行对象方法。自动传入将被检测的数据 'method'=>array( array('类名称、对象标识', '方法名称'), "这是错误信息") //对象方法返回false, 则触发错误信息 '!method'=>array( array('类名称、对象标识', '方法名称'), "这是错误信息") //对象方法返回true, 则触发错误信息 如:'!method'=>array(array(parent::TABLE_USER_EMAIL, 'find_exists_email'), "电子邮箱地址已经注册")

Parameters

array $data

要检测的数据

string $data_key

要检查的数据键

string $class_name

类名称

array $check

检查项

string $check_key

检查项的键。如果为空,那么则与检测的数据键$data_key一致

boolean $is_error_return

是否返回错误信息,默认false 直接throw new error

Returns

\eapie\throw —

| true

_check_submethod()

_check_submethod(array  $data, string  $data_key, array  $check_list, string  $type) : \eapie\throw

细节检查

Parameters

array $data

要检测的数据

string $data_key

要检查的数据键

array $check_list

检查项列表

string $type

检查项的类型

Returns

\eapie\throw —

| true