報錯如下:
hello A PHP Error was encountered Severity: Notice Message: Undefined property: Test::$load Filename: controllers/test.php Line Number: 9 Fatal error: Call to a member function view() on a non-object in D:\xampp\htdocs\citest\application\controllers\test.php on line 9
代碼如下:
<?php if(!defined('BASEPATH')) exit('No direct script access allowed'); class Test extends CI_Controller{ public function test() {
//此處是引發錯誤的根源 echo 'hello'; } public function index() { $this->load->view('test/index'); } public function about() { $this->load->view('test/about'); } protected function test1() { echo 'test protected function'; } private function hello() { echo 'hello,ci'; } public function test2() { $this->test1(); echo '<br/>'; $this->hello(); } }
看到哪里錯了嗎?因為我重寫了test控制器的構造函數,這和類名一樣的public方法和__construct方法是一樣的功能的,重寫了之后CI_Controller父類里的實例化什么的都沒了,必須自己實例化了。
除了把和類同名的方法移除外,還有中方法如下:
public function test() { echo 'hello'; parent::__construct(); } public function index() { $this->load->view('test/index'); }
這樣就沒問題了。
時隔三年,重新使用codeigniter,忘卻了許多事情。。。