问题答案
本人刚接触thinkphp不久,其实想做的事情很简单,就是一个基于session的用户登录验证,这个验证不想写在每一个action里面,希望能在所有action执行前去做这个验证,然后跳转到登录页。
我自己网上也查了一些资料,看到有_before_这个用法,但是针对某一个action的,并非全局的。还看到了_initializa()方法,这个方法是可以在所有action执行前去执行,但是该方法执行完毕后该怎么跳出?让后面的action不执行。
标签: thinkphp
答案
既然知道了_initializa()方法是在class里面第一个被执行的,就在这里判断用户session即可,未登录则$this->redirect('/member/login');
注意$this->redirect()和redirect()是不一样的,前者是直接跳到某控制器的某方法,后者是跳转至某个完整的网址.
举一反三