我正在尝试了解有关 CI 的更多信息。昨天我尝试实现MY_Controller.php。我阅读了用户指南中的说明但我不知道它有什么好处?还有一件事我不明白使用它的想法。我已经写了 application/core/MY_Controller.php
class MY_Controller extends CI_Controller {
protected $data = array();
function __construct() {
parent::__construct();
}
function render_page($view) {
//do this to don't repeat in all controllers...
$this->load->view('templates/header', $this->data);
//menu_data must contain the structure of the menu...
//you can populate it from database or helper
$this->load->view($view, $this->data);
$this->load->view('templates/footer', $this->data);
}
}
这是我的家庭控制器 application/controllers/home.php
class Home extends MY_Controller {
public function view($page = 'home')
{
$this->load->helper('text');
$this->data['records']= $this->services_model->getAll();
if ( ! file_exists(APPPATH.'/views/pages/'.$page.'.php'))
{
// Whoops, we don't have a page for that!
show_404();
}
$data['title'] = ucfirst($page); // Capitalize the first letter
$this->render_page('pages/'.$page)
}
}
我的视图在我的 application/views/pages/home.php 中。配置/routes.php:
$route['default_controller'] = 'home/view';
$route['(:any)'] = 'home/view/$1';
现在我收到 404 错误。我的问题是:
1) 为什么会出现 404 错误?2)如果我添加关于页面,我应该添加一个新的控制器还是使用家庭控制器?