0

我在 codeigniter 中加载视图并$this->load->view('login');在我的控制器中调用。但它给了我以下错误

 Severity: Notice

 Message: Undefined property: Login::$load

 Filename: controllers/login.php

 Line Number: 6

 Fatal error: Call to a member function view() on a non-object in /Applications/XAMPP/xamppfiles/htdocs/membership_system/application/controllers/login.php on line 6

这是我的控制器

 class Login extends CI_Controller {

public function index() {
    $this->load->view('login'); //<-- error is on this line
}

public function login() {

}

public function register() {

}
}

我怎么解决这个问题?

更新

当我将类名从更改为时LoginSomething_login这有效,但只有Login它给了我以上错误。为什么?

4

2 回答 2

1

函数的名称必须与您的类名称不同。

于 2012-11-15T04:41:43.910 回答
0

这是 PHP 的“限制”——它是 PHP 4 的向后兼容性功能,您没有,__construct()并且与类名匹配的方法名作为类构造函数执行。

如果你把一个 PHP5 风格的构造函数改为调用,你可能可以绕过这个问题,只要确保在其中调用父构造函数:

public function __construct()
{
     parent::__construct();
}

此外,如果您在命名空间内,情况也不会如此,但 CodeIgniter 目前不使用这些来与旧 PHP 版本兼容。

于 2012-11-15T10:11:05.427 回答