0

我正在尝试了解有关 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)如果我添加关于页面,我应该添加一个新的控制器还是使用家庭控制器?

4

4 回答 4

1

MY_Controller 控制器放入 application/core 文件夹 然后使用

MY_Controller文件夹路径 application/core/MY_Controller.php

**Home Controller ** 文件夹路径 application/controllers/Home.php

于 2016-08-22T14:45:48.983 回答
0

类 Home 扩展 MY_Controller

类 Home 扩展 CI_Controller

于 2012-08-02T05:49:41.860 回答
0
  1. 您获得 404 的原因是,您没有索引功能。CodeIgniter 默认在调用控制器时加载索引函数。

  2. 没关系,但我建议您打开一个新控制器。

于 2012-08-02T05:51:39.767 回答
0

它现在正在工作。我通过一个干净的目录结构来修复。但我无法在源代码中看到模板/页眉和页脚。

于 2012-08-02T07:24:17.543 回答