Codeigniter 2.0 MY_Router.php error


Codeigniter 2.0 MY_Router.php error

我用下面的代码在core目录中创建了文件MY_Router.php:

<?php
class MY_Router extends CI_Router {
    function MY_Router()
    {
        parent::CI_Router();
    }
    function _validate_request($segments)
    {
        // Comprueba que el controlador no existe
        if (!file_exists(APPPATH.'controllers/'.$segments[0].EXT))
        {
            $segments = array("page", "load", $segments[0]);
        }
        return parent::_validate_request($segments);
    }
}
?>

当我调用应用程序时,出现以下错误:

致命错误:调用未定义方法CI_Router::CI_Router()在/home/david/public_html/CodeIgniter_2.1.0/application/core/MY_Router.php第6行

问题在哪里?

问题是CI_Router类中没有称为CI_Router()的方法。在PHP4中,构造函数与类具有相同的名称。在PHP5中,构造函数被命名为__construct()

要解决这个问题,从

更改MY_Router类中的构造函数
function MY_Router()
{
    parent::CI_Router();
}

function __construct()
{
    parent::__construct();
}