## 過濾器鉤子
`filter` 執行機制為執行行為下的所有的鉤子,并將前一個鉤子的值注入到下一個鉤子,知道結束,返回最后一個鉤子返回值.
```
Hooks::filter('行為名稱','參數(按需求傳參即可)');
```
### 例:
添加鉤子
```
Hooks::add('replace_ubb',Hooks\Hooks::class,'replace_ubb');
Hooks::add('replace_ubb',Hooks\Hooks::class,'replace_ubb2');
```
編寫鉤子
```
<?php
namespace Hooks;
class Template
{
public function replace_ubb($str){
return preg_replace('/\[img\](.+)\[\/img\]/is',"<img src=\"\\1\"/>");
}
public function replace_ubb2($str){
return preg_replace('/\[red\](.+)\[\/red\]/is',"<span style='color:#ff0000'>\\1</span>");
}
}
```
執行鉤子
```
Hooks::filter('replace_ubb','[img]http://example.com/example.jpg[/img][red]紅色[/red]');
```
執行結果
```
<img src="http://example.com/example.jpg"/><span style='color:#ff0000'>紅色</span>
```
# 過濾器一般長用于數據處理
- 項目安裝
- 開發前必讀
- 配置項目
- 基礎配置
- 數據庫配置
- 路由基礎配置
- 調試的基礎配置
- 文件上傳配置
- 命令行配置
- 緩存配置
- 視圖配置
- 視圖默認變量
- 配置的讀取和使用
- 鉤子的配置
- 路由
- 默認的路由
- 以配置文件設置路由規則
- 以Annotation形式設置路由
- URL生成
- 控制器
- 創建一個控制器
- 視圖渲染
- 數據庫
- 簡述
- 創建一個數據庫模型
- 鏈式操作
- 數據查詢
- 更新數據
- 插入數據
- 刪除數據
- 事務操作
- 高級功能
- 字段驗證
- 增加一個驗證規則
- 自帶的驗證規則
- 驗證規則的使用
- 自動判斷規則
- 數據分表
- 數據分表準備
- 視圖
- 視圖實例
- 自定義模板標簽
- 輸出變量
- 判斷語法
- 遍歷循環
- 使用函數
- 原樣輸出
- 模板引用
- 模板繼承
- 引入資源
- 原生PHP標簽
- 自定義模板引擎規則
- 鉤子
- 行為
- 過濾器
- 監聽
- 緩存
- 緩存的配置
- 設置緩存
- 讀取緩存
- 刪除緩存
- 命令行
- 命令行的使用
- 自定義命令行Handler