He seguido estrictamente el how-to article by Phil Sturgeon, para extender el controlador base. Pero todavía tengo algunos errores.Codeigniter extendiendo extendido MY_Controller
Mis 3 clases:
// application/libraries/MY_Controller.php
class MY_Controller extends Controller{
public function __construct(){
parent::__construct();
}
}
// application/libraries/Public_Controller.php
class Public_Controller extends MY_Controller{
public function __construct(){
parent::__construct();
}
}
// application/controllers/user.php
class User extends Public_Controller{
public function __construct(){
parent::__construct();
}
}
Fatal error: Class 'Public_Controller' not found in /srv/www/xxx/application/controllers/user.php on line 2
curioso es que el siguiente fragmento está funcionando, si se extiende directamente desde MY_Controller
:
// application/controllers/user.php
class User extends MY_Controller{
public function __construct(){
parent::__construct();
}
}
I han cargado los controladores a través de __autoload()
o manualmente . Los controladores están cargados con éxito.
CI-Version: 1.7.3
¿Está cargando MY_Controller.php antes de cargar Public_Controller.php? – Alisson
¿Podría publicar la función __autoload en config.php? –
Hay respuestas mucho mejores en esta pregunta: http://stackoverflow.com/questions/21663045/creating-a-core-class-that-extends-another-core-class-codeigniter/22125436#22125436 incluso si está marcado como duplicado de este – Chococroc