1.22.1 过滤器服务
正如我们核心思想DI里面所说的,我们把后台很多功能资源都称为服务,所以在PhalApi框架中我们已经系统规定了**DI()->filter**为过滤器服务,以实现接口请求时的一些拦截操作,一如现在要说明的签名验证。
在接口进行初始化时,会自动调用已注册的过滤器服务 DI()->filter ,关键的代码如下:
//$vim ./PhalApi/PhalApi/Api.php
public function init()
{
$this->createMemberValue();
$this->filterCheck();
$this->checkStatus();
}
protected function filterCheck()
{
$filter = DI()->filter;
if (isset($filter)) {
$filter->check();
}
}
所以,如果我们需要实现签名验证,只需要简单的两步即可:
1、实现过滤器接口 PhalApi_Filter::check();
2、注册过滤器服务 DI()->filter;
1.22.2 微信签名示例
下面以大家熟悉的 微信验签 为例,进行示例说明。
(1)实现过滤器接口 PhalApi_Filter::check()
通常我们约定返回ret = 402表示验证失败,所以当签名失败时,