首页核心服务模型FilterModel
FilterModel
Kuoqi\Core\Model\FilterModel(317 行):过滤器基类,动态分发 filter 方法
本页内容
  1. 核心机制
  2. 内置过滤器(FilterModel 层)

核心机制

filter($filter, $data) 将过滤器名 code2hump 转驼峰拼 filter{Name} 方法并调用(get_called_class 静态分发,子类可覆写同名过滤器)。方法不存在抛 Exception。$filter 为空时原样返回。

内置过滤器(FilterModel 层)

过滤器行为
string转义 " < > 并 trim(此处三个都转义;Input 层只转 ")
array递归数组过滤(元素逐个 filterString)
arrayToString数组 implode 逗号串
contenthtmlspecialchars()
int / intvalintval;空串/null 返回 null
email正则邮箱(com/cn/net 域名尾)
phone^1[0-9]{10}$
idcard^[\dxX]{18}$
md5^[0-9a-zA-Z]{32}$
username5-20 位字母数字中文
passwordKuoqi::password 哈希
domain域名正则校验
urlencode / urldecodeURL 编解码
strtotime字符串转时间戳
date / datetime基类原样返回(子类覆写)
ignore原样透传
典型用法
// 动态调用(name 转驼峰 → filterXxx)
$val = FilterModel::filter("intval", "12abc");      // 12
$val = FilterModel::filter("email", "a@b.com");     // a@b.com(非法则 null)
$val = FilterModel::filter("ignore", $raw);          // 原样

// 自定义过滤器:继承并新增 filterXxx 方法即可
class MyFilter extends \Kuoqi\Core\Model\FilterModel {
    public static function filterMoney($data){
        return round(floatval($data), 2);
    }
}
$val = MyFilter::filter("money", "12.345");
KuoqiPHP v1.05 · 离线静态文档 · 界面基于 KuoqiUI · 返回首页