继承自己的controller的问题
本帖最后由 ctmaster 于 2010-5-24 14:30 编辑我这么做的.
/libraries/MY_Controller.php :
<?php
class MY_Controller extends Controller
{
function __construct()
{
parent::__construct();
}
}
/app/controllers/login.php :
<?php
class Login extends MY_Controller
{
function __construct()
{
parent::__construct();
}
}
/app/autoload.php :
$autoload['libraries'] = array('database', 'session', 'my_controller');
可是为什么每次都找不到这个 MY_Controller 类呢?
OK 我有看了一遍手册,把文件名改成MY_Controller.php了,还是不行。 没人回答么?
$autoload['libraries'] = array('database', 'session', 'my_controller');
这里面调用的库类应该是每个controller实例化之后才调用的吧?
难道只能用钩子? 很明显你没有严格按照 http://codeigniter.org.cn/user_guide/general/core_classes.html 这个来做,请仔细看一下手册,每个字节都不要丢掉。 回复 3# Hex
OK 我有看了一遍手册,把文件名改成MY_Controller.php了,还是不行。 $autoload['libraries'] = array('database', 'session', 'my_controller');
这个也要大小写敏感 $autoload['libraries'] = array('database', 'session', 'my_controller');
我试过 $autoload['libraries'] = array('database', 'session', 'my_controller');
$autoload['libraries'] = array('database', 'session', 'MY_Controller');
$autoload['libraries'] = array('database', 'session', 'My_controller');
$autoload['libraries'] = array('database', 'session', 'MY_controller'); /libraries/MY_Controller.php :
这个是app/lib还是system/lib? 回复 7# visvoy
system http://codeigniter.org.cn/user_guide/general/core_classes.html 这个楼主还是没看 -_-
MY_Controller 不需要放到 autoload 中,并且,必须放到 application/libraries 目录下。
这些手册都有明确说明,如果你仔细看,几分钟就能解决。 <?php
class MY_Controller extends Controller
{
function __construct()
{
parent::__construct();
}
}
parent::__construct();
==>
parent::Controller();
CI的默认Controlloer用的是PHP4语法,你继承的是PHP5的写法。
页:
[1]
2