Cuando uno hace aplicaciones en PHP o algún otro lenguaje parecido, generalmente tiene dos opciones: o trabajar con un framework que cumple la función de router o trabajar a “php puro” y tener urls feas y demases.
En el contexto de aplicaciones web, un router es un sistema que toma una petición del servidor web, por ejemplo /post/new, y carga la página correspondiente.
Para un nuevo proyecto que estoy haciendo decidí no usar un framework y hacerme mi propio router, siguiendo un poco la línea de como lo hace Kohana hice el siguiente código.
Trabaja con clases. Si se consulta por /post/jojo va a llamar a el método action_jojo() de la clase Controller_Post, bien similar a lo que hace Kohana.
Las clases las incluí en el archivo controller.php.
Comenté el código y lo subí acá por si le quieren dar una vuelta.
Es importante que le digan a su servidor web que redirija todas las consultas a el archivo index.php.
En nginx puse el siguiente código en mi vhost.
1 | try_files $uri $uri/ /index.php; |
Ya no recuerdo como se hace en Apache, pero pueden usar el .htaccess de WordPress.
Díganme qué les parece, si les sirvió y qué le mejorarían. Continue reading →

