CI框架不支持像yii2框架那样,可以直接在controllers下创建CommonController并继承父类,那么我们想要做登录控制或权限控制时,直接在父类控制器操作是不合理的。
这时比较方便的方法就是扩展父类的CI_Controller.
一、创建自定义的父类控制器
在core目录下创建一个自定义类,以MY_为前缀,如MY_Controller,注意这个前缀不能随意填写,受到config.php中配置的约束,并让MY_Controller继承CI_Controller
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class MY_Controller extends CI_Controller {
/**
* 后台登录控制
* MY_Controller constructor.
*/
public function __construct()
{
parent::__construct();
$this->load->library('session');
if (!isset($this->session->user)) {
redirect('login/index');
}
}
}
二、创建控制器继承自定义父类
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Admin extends MY_Controller {
/**
* backend home page
* @return [type] [description]
*/
public function index()
{
$this->load->view('admin/layouts/head');
$this->load->view('admin/admin/index');
}
}