扩展核心类笨 - 404错误(Extending Core Class Codeigniter -

2019-10-17 02:59发布

我努力学习笨。 我想使用的应用程序/核心/ MY_Controller在我的CI的应用程序。 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);
  }

}

现在我就开始给家里写信控制器:

class Home extends MY_Controller {
         function __construct() {
    parent::__construct();
  }

        public function view($page = 'home')
        {
         $this->load->helper('text');
            $data['records']= $this->services_model->getAll();
            if ( ! file_exists('application/views/pages/'.$page.'.php'))
            {
                // Whoops, we don't have a page for that!
                show_404();
            }

            $data['title'] = ucfirst($page); // Capitalize the first letter


            $this->load->view('pages/'.$page, $data);


        } 

我的意见的文件夹中

+pages
  +home.php
+templates
  +footer.php
  +header.php. 

下面是我的配置和路由文件。

$config['base_url'] = 'http://localhost/~ytsejam/kirmiziblog/';
$config['index_page'] = 'index.php';
$route['default_controller'] = 'pages/view';
$route['(:any)'] = 'pages/view/$1';

我得到的404页没有发现错误。 我怎样才能改变我的应用程序与MY_Controller工作?

Answer 1:

我也有这个问题,延伸核心类。 我的问题是,就是在我工作的本地服务器上,而不是我的生产服务器上。 我收到了404错误在生产,只有在我的控制器所使用的类扩展。 经过一番研究,我发现我的本地服务器运行PHP版本5.3.x,则应同时我的生产服务器运行5.2.x. 为了解决这个问题,我不得不我的生产服务器升级到5.3。

要找出您的网站使用PHP的版本,将在您看来这个命令:

<?php echo phpversion() ?>


文章来源: Extending Core Class Codeigniter - 404 Error