钩子层,简称H层。
## 说明
钩子的调用离不开TP5.1的设定,在application/tags.php中提供了如下代码:
```php
// 操作开始执行
'action_begin' => [
'app\\common\\hook\\AppInit'
],
```
在此处定义了AppInit的钩子,而此钩子的作用就是查找common目录与当前访问目录的路径下是否存在控制器同名的验证器,如果存在验证器,并在验证器的场景$scene数组变量中存在当前访问的方法,则进行自动验证参数。
例:
在API模块中存在Index的控制器,而API模块中存在validate层,并存在IndexValidate类,类中的scene参数含有getUserInfo场景,则我们访问/api/index/getUserInfo的路径时,需要提供user_id参数。
```php
protected $rule = [
'page'=>'number'
,'size'=>'number'
,'user_id'=>'require'
];
protected $scene = [
'getUserInfo'=>['user_id']
];
```