首页›核心服务模型›FilterModel
FilterModel
Kuoqi\Core\Model\FilterModel(317 行):过滤器基类,动态分发 filter 方法
本页内容
- 核心机制
- 内置过滤器(FilterModel 层)
核心机制
filter($filter, $data) 将过滤器名 code2hump 转驼峰拼 filter{Name} 方法并调用(get_called_class 静态分发,子类可覆写同名过滤器)。方法不存在抛 Exception。$filter 为空时原样返回。
内置过滤器(FilterModel 层)
| 过滤器 | 行为 |
|---|---|
string | 转义 " < > 并 trim(此处三个都转义;Input 层只转 ") |
array | 递归数组过滤(元素逐个 filterString) |
arrayToString | 数组 implode 逗号串 |
content | htmlspecialchars() |
int / intval | intval;空串/null 返回 null |
email | 正则邮箱(com/cn/net 域名尾) |
phone | ^1[0-9]{10}$ |
idcard | ^[\dxX]{18}$ |
md5 | ^[0-9a-zA-Z]{32}$ |
username | 5-20 位字母数字中文 |
password | Kuoqi::password 哈希 |
domain | 域名正则校验 |
urlencode / urldecode | URL 编解码 |
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 ·
返回首页