我在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() {
}
}
我该如何解决这个问题?
更新
当我将班级名称从Login
更改为Something_login
时,这样可行,但仅限于Login
,这会让我产生上述错误。为什么呢?
答案 0 :(得分:1)
功能名称必须与您的班级名称不同。
答案 1 :(得分:0)
这是一个PHP“限制” - 它是PHP 4的向后兼容性功能,您没有__construct()
,并且与类名称匹配的方法名称作为类构造函数执行。
如果你改为调用PHP5风格的构造函数,你可能会解决这个问题,只需确保调用它中的父元素:
public function __construct()
{
parent::__construct();
}
此外,如果您在命名空间内,情况并非如此,但CodeIgniter目前不会利用这些与旧版PHP兼容。