用户
 找回密码
 入住 CI 中国社区
搜索
查看: 2783|回复: 5
收起左侧

[已解决] 使用CI的过程中发现的一个问题

[复制链接]
发表于 2012-3-9 12:17:34 | 显示全部楼层 |阅读模式
如果控制器中存在一个和控制器同名的方法,就会出现这样的一个错误:

Severity: Notice  --> Undefined property: Managed::$load D:\KAAS\Console\CI\kaasapp\controllers\managed.php 14

Managed是控制器类名。

所以控制器中是不允许出现和控制器同名的方法的,不知道我总结的对不对?
发表于 2012-3-9 17:01:28 | 显示全部楼层
错,在PHP里控制器同名的方法叫构造,CI默认的是index
发表于 2012-3-10 12:23:09 | 显示全部楼层
是的 PHP中与类名同名的方法是构造函数,这个是有特殊意义的,跟 CI 无关
发表于 2012-3-10 13:10:42 | 显示全部楼层
类和方法同名是构造方法

__construct
发表于 2012-3-10 16:59:58 | 显示全部楼层
方法和类重名是可以的,只不过要重新载入父类的构造方法
下面代码就没有报错
PHP复制代码
 
class Home extends CI_Controller {
function Home(){
    parent::__construct();
}
function index(){
    $this->load->view('home');
}
}
 
复制代码
 楼主| 发表于 2012-3-25 15:02:52 | 显示全部楼层
恩恩~学习了~{:soso_e106:}

本版积分规则