我是CodeIgniter的新手,我正在尝试执行一些简单的示例,以了解它们的工作原理。问题是我正在尝试使用一个简单的控制器来显示一个简单的视图,只是说“索引!”强烈的字体。我也使用.htaccess
以避免在控制器名称前面加上“index.php”。我正在使用mod_rewrite来实现这一目标。我正在使用:
Options +FollowSymLinks
RewriteEngine on
RewriteCond $1 !^(index\.php|files|assets|robots\.txt)
RewriteRule ^(.*)$ ./index.php/$1 [L]
在routes.php中的我有:
$route['default_controller'] = "main";
告诉CodeIgniter我想使用名为main.php
拥有
这是我完整的控制器:
class Main extends CI_Controller {
public function index() {
$this->load->view('main');
}
public function ingrid() {
$this->load->view('ingrid');
}
public function remote() {
$this->load->view('remote');
}
}
在里面,应该在视图中执行'main.php'控制器。
一切似乎都很好,但它一直给我这个错误:
Severity: Notice
Message: Undefined property: Main::$load
Filename: controllers/main.php
Line Number: 50
Backtrace:
File: /Users/sam/webroot/voipXX_client_care/application/controllers/main.php
Line: 50
Function: _exception_handler
File: /Users/sam/webroot/voipXX_client_care/index.php
Line: 260
Function: require_once
问题是,我不明白。
答案 0 :(得分:0)
您的控制器可能正在扩展基础控制器吗?
然后尝试调用parent :: Controller();在Main()类的构造函数中。
答案 1 :(得分:0)
按如下方式重写您的控制器:
class Main extends CI_Controller {
public function __construct(){
parent::__construct();
}
public function index() {
$this->load->view('main');
}
public function ingrid() {
$this->load->view('ingrid');
}
public function remote() {
$this->load->view('remote');
}
}
注意我已添加:
public function __construct(){
parent::__construct();
}