能否创建一个自己的Controller基类?
自己所有的Controller都继承Controller基类。但是现在要对几个Controller设置一些共同的程序
想问问有没有办法自己写一个BaseController的基类,继承CI提供的Controller,
之后具体功能的Controller类继续写的BaseController?
自己写了一下,发现不行。
不知道是不是我写的不对。。。。
class BaseController extends Controller {
function __construct() {
parent::Controller();
}
}
之类的定义:
class Main extends BaseController {
function __construct() {
parent::Controller();
}
function index() {
$data['title_for_layout'] = '木禾-52host';
$data['site_description'] = '';
$data['site_keywords'] = '';
$data['site_name'] = '';
$this->layout->view('main/home', $data);
}
}
页面错误提示:Fatal error: Class 'BaseController' not found in F:\puras\php\52host\system\application\controllers\main.php on line 2
求教!!! 使用Library解决了:
class MK_Controller extends Controller {
function __construct() {
parent::__construct();
$this->base_data['site_name'] = $this->config->item('site_name');
$this->base_data['site_description'] = $this->config->item('site_description');
$this->base_data['site_keywords'] = $this->config->item('site_keywords');
}
}
子类:
class Main extends MK_Controller {
function __construct() {
parent::__construct();
}
function index() {
$data = $this->base_data;
$this->layout->view('main/home', $data);
}
}
:victory: 可惜啊。
它只能重写原有的类。
而不能自己创建新的类。。。
比如MK_Controller,你再写别的Controller就没戏了。5555555 是的 CI 不支持多级控制器继承,只能从 MY_Controller 继承。
等新版 CI 吧。 回复 4# Hex
:dizzy::dizzy::dizzy: 哎,上次我也有这个问题,最后直接修改controller文件,添加了几个函数!! 回复 6# zfm1988
可是有些函数是在好几个Controller里都要用到的。为Controller中的每个方法设置一些初始值。
没有基类,真的很不方便。哈。
页:
[1]