Enrutar aplicaciones con Phalcon PHP
Enrutar aplicaciones con Phalcon PHP
¡INSCRÍBETE A CUALQUIER CURSO CON UN 50% DE DESCUENTO PARA NUEVOS CLIENTES!

En este tutorial vamos a ver cómo podemos enrutar nuestra aplicación en phalcon haciendo uso del router, gracias a este objeto podemos decirle a phalcon cómo debe comportarse dependiendo del tipo de petición, get, post, de la url y sus parámetros etcétera.

Para poder hacer uso de las rutas en phalcon tenemos la siguiente opción, podemos abrir el archivo index.php dentro de public y declarar la siguiente constante para tener una ruta absoluta a nuestro proyecto de la siguiente forma.


Ahora que ya tenemos la constante APP_PATH definida, abre el archivo app/config/services.php y añade el siguiente código al final del mismo.


Con esta pequeña configuración ya podemos crear un nuevo archivo en app/config llamado routes.php, aquí será donde creemos la lógica de nuestras rutas, veamos ejemplos poco a poco y finalmente el código completo.

Ruta base


La anterior ruta atacará a toda petición que se dirija a la raíz /, el controlador encargado será el index y la acción será también el index, no contiene parámetros.

Ruta con parámetros


La anterior ruta atacará a la ruta posts/algún número cuyos valores oscilen entre el 0 y el 9, el controlador encargado será el post y la acción el getById, el siguiente ejemplo sirve.


Cómo puedes ver, el parámetro que hemos llamado id en las rutas lo podemos capturar mediante dispatcher.

Ruta con parámetros sin definir


La anterior ruta atacará a la ruta profile/algún número cuyos valores oscilen entre el 0 y el 9/cualquier valor/, el controlador encargado será el user y la acción el view, el siguiente ejemplo sirve.


En este caso, la única diferencia es que no hemos definido el valor que debe contener el parámetro slug, sólo hemos dicho que debe exister.

Ruta para peticiones get con notación abreviada


La anterior ruta atacará a toda petición que se dirija a posts/edit/cualquier cosa/, el controlador encargado será el Post y la acción será el edit, el parámetro id puede contener cualquier cosa.

Ruta para peticiones post con notación abreviada


Lo mismo que en el caso anterior, pero esta vez atacará toda petición que ataque vía POST.

Ruta para peticiones que no existan


El método notFound nos permite decirle a phalcon que hacer cuando la ruta no exista, en este caso buscará el controlador notfound y dentro, la acción index, el siguiente ejemplo es válido.

Finalmente, todo el código que hemos visto en un archivo y lo más importante, debemos devolver(return) el objeto router para que funcione.

Y eso es todo, espero que te haya gustado y te sea útil, si es así te agradezco que lo compartas en las redes sociales.