__construct()
__construct( $x = NULL, $y = '') : void
重定义构造器使 message 变为必须被指定的属性 确保所有变量都被正确赋值 当$x 为int 那么就是 $code,而$y即$message 当$x 为string 那么就是$message, $code 等于-1。为自定义错误信息
Parameters
$x | ||
$y |
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'), "电子邮箱地址已经注册")
array | $data | 要检测的数据 |
string | $data_key | 要检查的数据键 |
string | $class_name | 类名称 |
array | $check | 检查项 |
string | $check_key | 检查项的键。如果为空,那么则与检测的数据键$data_key一致 |
boolean | $is_error_return | 是否返回错误信息,默认false 直接throw new error |
| true
Loading…