CodeIgniter extensiones modulares
-
27-09-2019 - |
Pregunta
Estoy tratando de poner en práctica modular de extensiones en una instalación CodeIgniter 2, pero estoy teniendo algunos problemas. He seguido las instrucciones de instalación en el wiki y todo estaba funcionando bien. Entonces empecé a jugar un poco y tratar de usarlo. Todo lo que hice fue crear un nuevo módulo de llamadas a los usuarios con las carpetas requeridas y ha añadido una clase modelo llamado users_m. Luego trató de cargar esto desde mi controlador del módulo de bienvenida. De acuerdo con el wiki esto debe ser muy sencillo. Simplemente añade esta línea
$this->load->model('users/users_m');
para el constructor de mi controlador de bienvenida.
Desafortunadamente en este momento tengo la pantalla blanca de la muerte.
Así que intentó otra cosa. Esta vez quitado de la línea modelo de carga y añadido
$this->output->enable_profiler(TRUE);
Esta vez me dio la página de bienvenida aparece y me dieron el perfilador, pero en la parte superior de la página que tiene este error:
A PHP Error was encountered
Severity: Notice
Message: Undefined property: CI::$profiler
Filename: MX/Loader.php
Line Number: 145
No sé si estos dos intentos están relacionados o no, pero obviamente hay algo que no está bien con mi configuración. ¿Podría alguien me punto en la dirección correcta?
Solución
Si acceso al modelo del controlador en el mismo módulo, puede cargarlo utilizando simplemente:
$this->load->model(‘user_m’);
Sólo tiene que hacer $this->load->model(‘module/model_name’);
cuando su carga cruzada entre los módulos.
Sólo para asegurarse, su modelo se encuentra aquí ahora?
application/modules/users/models/users_m.php
En cuanto al error de perfiles:
1) Usted ha hecho la instalación paso 5 y poner el Extensiones modular archivos principales en la aplicación / núcleo?
2) ¿Tiene la última versión del HMVC? Ha habido cambios a mx / loader.php en las últimos días .
Sal. gran tutorial sobre HMVC: http://net.tutsplus.com / tutoriales / php / hvmc-an-introducción-y-application /
Otros consejos
si tiene estructura de carpetas como:
application/
modules/
users/
models/
users_m.php
a continuación, usar esto para llamar modelsin que el controlador
$this->load->model('users/users_m','',TRUE);