Rutas en Laravel 5

El sistema de rutas es algo muy importante dentro de un Framework. Veamos como se definen rutas en Laravel 5.

Las rutas se configuran en el fichero app/Http/routes.php. Veamos como se definen rutas, puedes ir probandolas individualmente para ver el resultado que dan.

1/** Rutas básicas */
2 
3// Ruta que apunta al WellcomeController y a la acción index
4Route::get('/', 'WelcomeController@index');
5 
6// Ruta que apunta al controlador HomeController y a la acción index
7Route::get('home', 'HomeController@index');
8 
9// Ruta básica con GET
10Route::get('/hola-mundo', function()
11{
12    return 'Hola Mundo!! victorroblesweb.es';
13});
14 
15/* Podriamos utilizar los métodos get,post,put y delete
16 * para montar un API Rest con Laravel 5.
17Route::post('foo/bar', function()
18{
19    return 'Hola Mundo!! victorroblesweb.es';
20});
21 
22Route::put('foo/bar', function()
23{
24   return 'Hola Mundo!! victorroblesweb.es';
25});
26 
27Route::delete('foo/bar', function()
28{
29    return 'Hola Mundo!! victorroblesweb.es';
30});
31*/
32 
33// Ruta para múltiples métodos HTTP
34Route::match(['get', 'post'], '/hola-mundo-multiple', function()
35{
36    return 'Hola Mundo GET y POST!! victorroblesweb.es';
37});
38 
39Route::any('hola-mundo-cualquiera', function()
40{
41    return 'Hola Mundo para cualquier verbo HTTP!! victorroblesweb.es';
42});
43 
44 
45/*Parámetros en las rutas*/
46 
47// Pasar parámetro
48Route::get('pelicula/{id}', function($id)
49{
50    return 'Pelicula '.$id;
51});
52 
53/*
54Si le queremos pasar un parámetro a una acción seria igual que aquí solamente que abría que pasar el parámetro $id en el método action del controlador al que se está llamado.
55*/
56 
57// Pasar parámetro opcional y un valor por defecto
58Route::get('pelicula/{titulo?}', function($titulo = 'Batman Begins')
59{
60    return $titulo;
61});
62 
63// Restricción en el parámetro
64Route::get('pelicula/{titulo}', function($titulo)
65{
66    return $titulo;
67})
68->where('titulo', '[A-Za-z]+'); //Expresión regular
69 
70// Multiples restricciones
71Route::get('pelicula/{id}/{titulo}', function($id, $titulo)
72{
73    return $id." ".$titulo;
74})
75->where(['id' => '[0-9]+', 'titulo' => '[a-z]+']);

Como ves definir rutas es sencillo de hacer en Laravel 5.

Más información:
http://laravel.com/docs/5.0/routing

Víctor Robles WEB

Autor: Victor

Desarrollador web - Formador online - Blogger

Compartir este post