Thinkphp 3.2.3 公共控制器的使用,使用公共控制器把一些公共的代码写在公共控制器中,避免写过多重复的代码。公共控制器的两种写法:通过继承关系的公共控制器:<?php
namespace Admin\Controller;
use Think\Controller;
//定义公共控制器并继承核心框架的控制器
class CommonController extends Controller{
//构造函数自动执行
public function __construct(){
//调用继承父类的控制器的构造函数
parent::__construct();
//在做登陆的时候可以在这里进行判断有没有登陆然后进行跳转,
//为了避免用户未经许可从前台随便访问后台的一些控制器所以,剩下的所有控制器都继承这个CommonController
//公共控制器即可。
if(!session('account')){
$this->error('未登录,跳转中',U('Login/index'));
}
}
//其他的一些公共数据的方法
public function common(){
//公共代码
}
}
?>
namespace Admin\Controller;
use Think\Controller;
//继承公共类控制器
class IndexController extends CommonController{
//...
}
?>通过实例化调用一个公共类:<?php
namespace Admin\Controller;
use Think\Controller;
class IndexController extends Controller{
public function index(){
//A()实例化控制器对象,等同于$c=new CommonController();
$c = A(Common);
$c->common();
}
}
?>