Parámetros
Aparte de las rutas y los métodos GET y POST, podemos crear rutas más avanzadas y más funcionales, como por ejemplo pasar parámetros por la ruta, como por ejemplo:
Route::get('post/{id}', function($id) { return $id; });
Tenemos la ruta /post que es la «principal», y luego le podemos pasar como parámetro la ID del post que queremos ver. Luego con la función recogemos ese parámetro y lo utilizamos para lo que queramos. En este caso si vamos a la url https://blog.magarrent.com/blog/public/post/12 nos retornará por pantalla un número 12.
Resource controllers
Estas son las rutas más interesantes a la hora de trabajar, las rutas anteriores que hemos visto tenemos que ir una a una todas las URLs diferentes de nuestra aplicación, los «Resource controllers» nos permiten crear todas las URLs y métodos (GET, POST, etc…) que queramos haciendo uso de un único controlador, veamos mejor un ejemplo:
Route::controller('posts', 'PostController');
Si nos fijamos bien, no le pasamos ningún método como hacíamos antes a la ruta (Controller@Method) si no que solo le pasamos el controlador. Eso significa que las rutas las crearemos ahora des de el controlador utilizando la siguiente sintaxis:
public function methodNamefunction() { }
Veamos dos ejemplos con los métodos GET y POST:
public function getPosts() { return "Lista de todos los post por GET"; } public function postSavepost() { return "Guardar post por POST"; }
Exactamente como hemos explicado anteriormente, se pueden pasar tantos parámetros como queramos.