Namespaces en Phalcon

Rutas con namespaces en Phalcon

En este tutorial vamos a ver cómo configurar una aplicación para utilizar namespaces en Phalcon.

Phalcon nos permite crear rutas con namespaces, una propiedad de cada ruta a la cuál le podemos decir sobre que namespace va a trabajar esta ruta, así podemos seguir haciendo nuestro trabajo de la misma forma.

Para trabajar con namespaces en controladores y modelos podemos registrar los namespaces que necesitemos con el método registerNamespaces del objeto $loader.

Gracias a esta funcionalidad podemos mover nuestros controladores y modelos donde necesitemos para poder organizarnos a nuestra forma de trabajar.

Crear rutas con namespaces en Phalcon

El primer paso es registrar nuestras rutas, para trabajar de forma ordenada lo mejor es alojarlas en un archivo separado, así que abre el archivo app/config/services.php y añade lo siguiente.


Ahora crea el archivo app/config/routes.php y añade la siguiente ruta.

Registrar namespaces en Phalcon

Ahora sólo debemos registrar los namespaces con el loader, así que abre el archivo app/config/loader.php y modifica el archivo.


Si te fijas, los controladores los hemos definido en el espacio de nombres Admin\Controllers y le hemos dicho que estarán en app/admin/controllers, es decir, podemos sacarlos del directorio controllers sin ningún problema, no lo recomiendo pero es una opción a tener en cuenta.

Controladores bajo namespaces

Ahora puedes crear un directorio llamado admin dentro de app y dentro otro llamado controllers con un controlador llamado UsersController.php con el siguiente código.


Aquí ya estamos definiendo nuestro namepsace Admin\Controllers y utilizando modelos bajo namespaces y vistas que están en otros directorios gracias al método pick.

Modelos bajo namespaces

Crea el modelo Users dentro del directorio models.


Si te fijas en el inicio del archivo hemos definido el namespace Admin\Models, ahora sólo nos queda crear la vista users/index.phtml con el siguiente código.


Si ahora accedes a tu proyecto /profile debes poder ver los usuarios, recuerda crear la tabla users o no funcionará.

Añade un comentario

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información. ACEPTAR

Aviso de cookies
Descuentos de hasta el 50% por el Black Friday en CursosdesarrollowebAcceder ahora
+ +