我正在努力学习Codeigniter。我想在我的CI应用程序中使用application / core / MY_Controller。 MY_Controller.php as:
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?
答案 0 :(得分:0)
我在扩展核心类时遇到了这个问题。我的问题是在我的本地服务器上工作,但不在我的生产服务器上。我在生产中收到了404错误,只在我使用类扩展的控制器上收到错误。经过一些研究后,我注意到我的本地服务器运行的是php版本5.3.x,而我的生产服务器运行的是5.2.x.要解决此问题,我必须将生产服务器升级到5.3。
要了解您的网站使用的是哪个版本的php,请将此命令放在您的视图中:
<?php echo phpversion() ?>