function init(),这个是不是自动执行的

#1 wangyz636

看到基类basecontraller.php里面有这个函数,是不是这个函数就具有构造函数的作用,如果我想限制所有页面都必须登录访问,是不是验证写在这个函数里就可以?

2016-07-31 22:34:33

#2 jake

是的,init()自动启动的,它在controller类的构造函数里面启动。所以最好别继承覆盖掉控制器的构造函数。

权限认证,登陆等最好都放在init里面,好处是方便共用和单独用,比如说如果通用验证就继承basecontroller,让basecontroller里面的init进行认证,但是有部分控制器如果要单独控制,那么可以单独覆盖init,写自己控制器的认证。

init还可以作为页面缓存等方面的使用。类比是java的过滤器。

2016-08-01 22:38:34