CIについてもっと勉強しようとしています。昨日、MY_Controller.php を実装しようとしました。ユーザー ガイドの説明を読みましたが、その利点がわかりませんでした。そしてもう1つ、私がそれを使用するという考えを理解していませんでした。私は 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にあります。config/routes.php:
$route['default_controller'] = 'home/view';
$route['(:any)'] = 'home/view/$1';
今、404エラーが発生しました。私の質問は次のとおりです。
1) 404 エラーが発生するのはなぜですか? 2) アバウト ページを追加する場合、新しいコントローラーを追加するか、ホーム コントローラーを使用する必要がありますか?