Erreur Codeigniter 2.0 my_router.php
-
28-10-2019 - |
Question
J'ai créé le fichier MY_Router.php
À l'intérieur du répertoire de base avec ce code:
<?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);
}
}
?>
Lorsque j'appelle l'application, cette erreur apparaît:
Erreur fatale: appel à la méthode non définie ci_router :: ci_router () dans /home/david/public_html/codeigniter_2.1.0/application/core/my_router.php sur la ligne 6
Où est le problème?
La solution
Le problème est qu'il n'y a pas de méthode dans la classe CI_ROUTER appelée CI_Router()
. Dans PHP4, les constructeurs ont le même nom que la classe. Dans PHP5, les constructeurs sont nommés __construct()
.
Pour résoudre le problème, modifiez le constructeur dans la classe my_router de
function MY_Router()
{
parent::CI_Router();
}
à
function __construct()
{
parent::__construct();
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow