ThinkPHP3.2.3中控制器的继承

  


在用ThinkPHP写后台管理模块的用户登陆权限的控制时,如何防止其他用户直接访问后台首页,需要对管理员是否登陆要进行验证。因为后台的页面不止一个页面,所以,如果针对每一个页面都做权限管理的话会很麻烦。

在TP里,可以通过实现一个公共的控制器,让后台的控制器直接继承这个公共控制器即可,在访问后台首页时,会先访问这个公共的控制器,只要在这个公共的控制器中,做好管理员验证的事情即可。


公共的控制器类放在应用程序\ \常见\ \控制器目录下,命名为CommonController.class。php,命名空间如下:

代码如下:

& lt; php ?      namespace 常见\控制器;   use 认为\控制器;      class  CommonController  extends  Controller  {   ,,,public  function  _initialize () {   ,,,,,,,   ,,,,,,,//判断会话里是否有值   ,,,,,,,如果(!会话(' ?用户名')){   ,,,,,,,,,,,重定向('/admin.php/登录/登录',2 '请先登陆”);   ,,,,,,,}   ,,,}      }

子类继承时:这里用的时管理模块

& lt; php ?      namespace 管理\控制器;   use 常见\控制器\ CommonController;      class  IndexController  extends  CommonController  {      ,,,//后台首页模板显示   ,,,public  function 指数(){      ,,,,,,,这个美元→显示();   ,,,}   }


清空会话:

,,,,public  function 注销(){   ,,,,,,,//清除会话   ,,,,,,,_SESSION 美元;=,数组();   ,,,,,,,会话(空);   ,,,,,,,会话(“(破坏)”);   ,,,,,,,重定向('/admin.php/登录/登录',2 '退出成功,返回首页”);   ,,,,,,,退出;   ,,,}


ThinkPHP3.2.3中控制器的继承