ThinkPHP构造函数与前后置方法执行顺序

在使用ThinkPHP过程中,保存了Session作为公共类,提供其他类继承,公共类使用前置方法_before_index最session进行了判断,发现其他模块不用通过session就可以直接进入了,如果别人知道action中类的方法就可以直接打开了,这种验证是不健全的,前置方法和后置方法不是构造函数与析构函数,想使用构造函数还是要用php原生的构造与析构函数,或者内置提供的。简单的测试了一下前置方法和后置方法与index的执行顺利和作用域。前置方法和后置方法与index方法的作用域仅限当前方法,而构造函数适用于整个类。

__Construct() 或者 _initialize 为构造函数,在整个类文件中都是有作用域,就是每一个方法都会去验证。而前置和后置与index方法只会验证当前方法。

前置方法与后置方法与index方法官方有文档有写过执行顺序:

_before_index()  //前置方法;
index() //默认第一个执行方法;
_after_index() // 后置方法。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.