一般用到前后台公用控制器的地方还是很多的~例如:需要登录才能操作的页面,前台有会员中心等页面需要登录查看或者操作信息,后台也是有更多需要登录才能操作的页面。
ThinkPHP3.2.2采用的是模块化的管理方式,前后台的模块可以按需求建立。在前后台模块文件夹的同级目录有一个Common文件夹,里面是前后台都可以公用的文件,例如:数据库连接配置(公共配置文件)、公共函数、公共控制器等。
首先在Common文件夹下创建一个Controller文件夹,并在Controller文件夹下创建BasicController.class.php内容如下:
<?php
namespace Common\Controller;
use Think\Controller;
class BasicController extends Controller {
public function _initialize() {
echo "这是前后台公用的控制器!";
}
}
这样我们就创建了一个前后台公用的控制器,那么如何访问这个控制器呢?
例如前台首页控制器IndexController.class.php内容
<?php
namespace Home\Controller;
use Common\Controller\BasicController;
class IndexController extends BasicController {
public function index() {
echo "index page";
}
}
use Common\Controller\BasicController;这一句,同时前台首页控制器也要继承公用的控制器才可以。页面会输出 这是前后台公用的控制器 和index page 。因为公用控制器中的_initialize()方法是自动运行的方法.。