TP5中的前置操作

近几天的开发中,写了一个类,发现几乎每一个方法都需要加一个同样的验证层。如下:

         (new OpenidValidate()) -> goCheck();
         parent::check($accessToken);

刚开想将验证层代码写到构造函数中,但是报了个不知道啥的错误(Missing parent constructor call)父类中也没有写构造函数。。。所以就没继续往下纠错,然后又写了一个first方法

 public function first($accessToken,$openid)
     {
         (new OpenidValidate()) -> goCheck();
         parent::check($accessToken);
     }

   // 在其他方法中调用此方法
         $this->first($accessToken,$openid);

这么些依然不是很简洁。。。

问了下前辈,说是tp3.2版本中有自带的前置方法。就去tp5中找到了前置操作。
发现十分好用啊!!!

这里就不拿我写的代码作为例子了,就拿官方举的例子来详细解释下吧
官方说明链接:当当当!!!`

namespace app\index\controller;

use think\Controller;

class Index extends Controller
{
    protected $beforeActionList = [
        'first',                     //执行任何方法之前都会执行这个first
        'second' =>  ['except'=>'hello'],   //除了hello方法以外的方法执行之前都会先执行一次second
        'three'  =>  ['only'=>'hello,data'], //仅在hello和data方法执行之前执行一次three
    ];

    protected function first()
    {
        echo 'first<br/>';
    }

    protected function second()
    {
        echo 'second<br/>';
    }

    protected function three()
    {
        echo 'three<br/>';
    }

    public function hello()
    {
        return 'hello';
    }

    public function data()
    {
        return 'data';
    }
}
/*访问http://localhost/index.php/index/Index/hello最后的输出结果是*/

first
three
hello

/*访问http://localhost/index.php/index/Index/data的输出结果是:*/
first
second
three
data

使用tp框架,就是很方便啊!哈哈哈哈哈哈………………………………………..嗝~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值