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の「制限」です。これはPHP4の下位互換性機能であり、これはありません__construct()。クラス名と一致するメソッド名がクラスコンストラクターとして実行されます。

代わりに呼び出されるPHP5スタイルのコンストラクターを配置する場合は、おそらくそれを回避できます。必ず、その中の親コンストラクターを呼び出してください。

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

また、名前空間内にいる場合はそうではありませんが、CodeIgniterは現在、古いバージョンのPHPとの互換性のためにそれらを利用していません。

于 2012-11-15T10:11:05.427 に答える