我用下面的代码在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();
}