PlatesPHP: Sistema de plantillas para Codeigniter 3
PlatesPHP: Sistema de plantillas para Codeigniter 3
¡INSCRÍBETE A CUALQUIER CURSO CON UN 50% DE DESCUENTO PARA NUEVOS CLIENTES!

La función _remap en codeigniter nos ayuda a remapear nuestros controladores como nosotros le digamos, para casi todos los casos las rutas pueden ser suficiente, pero podemos tener otros casos como el siguiente.

Digamos que queremos crear una aplicación la cuál obtiene los datos del usuario por un segmento de la url como lo hace twitter, simplemente podemos pasar un parámetro a la función index de la siguiente forma:

El problema es que ésto así tal cuál no funcionará ya que codeigniter lo que hará será buscar un método llamado unodepiera, y si no existe dará error, realmente podemos crear una ruta, pero no funcionaria, nuestra ruta podría ser:

Ésto haría que al visitar la url http://localhost/remap/home/index/unodepiera nos mostrará el parámetro, pero no es demasiado limpio que digamos.

_Remap en Codeigniter

Para nuestro caso sería perfecto remapear la función index y decirle a codeigniter que a esta funcion va a tener uno o más parámetros, así que nuestro controlador podría lucir tal que así haciendo uso del método _remap en Codeigniter.

Si ahora visitamos la url http://localhost/remap/home/unodepiera veremos como nos dice:

Hola unodepiera.

Si visitamos http://localhost/remap/home/unodepiera/32/piera dirá:

Hola unodepiera tu edad es 32 y vives en piera.

De la misma forma podemos hacer con el método test:

La ruta http://localhost/remap/home/test/unodepiera/hola/pepe nos dirá:

Hola test, tu nombre es unodepiera y hola y pepe

Si finalmente lo que necesitamos es crear una url como twitter, ejemplo http://proyecto/unodepiera, hasta donde yo sé, la única forma es creando todas las rutas que necesitemos en el archivo config/routes.php, siendo la última de todas una que acepte como parámetro cualquier dato, veamos un ejemplo.

Las rutas:

Y así podría quedar el controlador main para estas rutas.

Y eso es todo, ya puedes hacer tus pruebas, seguro que encuentras lo que necesitas. Si te ha sido útil el post puedes utilizar los botones de las redes sociales para ayudarme con mi trabajo.