Laravel consciente de toda esta nueva oleada de servicios, nos permite construir controladores de esta forma, así podemos definir las acciones y el método por el cual debe funcionar, con ello podremos hacer aplicaciones multiplataforma, utilizando nuestra aplicación como tecnología backend.
Construir el controlador
Para que esto pueda funcionar, primero que nada debemos tener una instalación estándar de Laravel, luego podemos crear un controlador básico y ahí vamos a crear las diferentes acciones que vamos a utilizar.
De esta forma podemos establecer en la ruta un comodín, así cuando recibamos una petición nuestro controlador tenga la inteligencia necesaria para responder con la acción correcta, logrando así nuestro objetivo.
Ejemplo práctico
En este ejemplo vamos a hacer algo sencillo, vamos a definir varias acciones, una de ellas será el index de nuestro controlador, en ella caeremos cuando solo hagamos la petición correspondiente sin nada más, luego definiremos otra acción que se ejecutará solo cuando llamemos al index desde el método POST y por último definiremos una acción que se ejecutará cuando la llamemos luego de la acción inicial. Veamos el código:
Si nos fijamos en el index de nuestro controlador en el método GET vamos a mostrar un formulario, este va a llamar al mismo controlador pero con método POST y al hacer esto vamos a enviar al usuario a la acción correspondiente, que el caso del ejemplo va a imprimir todos los valores recibidos por el controlador, en este caso todo lo que se envíe por el formulario.
Si notamos de cerca, vemos que cada acción sigue la convención explicada al inicio, por lo que en la tercera acción el getAbout(), al llamar a la aplicación usuarios/about vamos a caer en ella y mostraremos su contenido.
Pero para que todo esto pueda funcionar, en el archivo routes.php, debemos definir una ruta, que obtenga el método HTTP correspondiente y lo pase al controlador que es quien va a definir qué acción tomar, este es el código de la ruta para este ejemplo:
Route::controller('usuarios, 'UsuariosController');
Como vemos hemos resuelto el problema con una sola línea de código, utilizando la palabra comodín controller en la ruta y con ello ya Laravel sabe que debe buscar un controlador RESTful.
Con esto finalizamos este tutorial, como vemos Laravel nos permite crear aplicaciones bastante prácticas y que si seguimos las convenciones nos pueden ahorrar mucho trabajo y ayudarnos a construir interfaces que servirán para proyectos mucho más grandes.