Hoy veremos cómo se manejan las rutas en Laravel. La ruta más sencilla es esta:
Código :
Route::get('dime', function() { return 'okay'; });
Ahora podemos llamar a esa ruta por un nombre, para que se pueda reutilizar después:
Código :
Route::get('nosotros', array('as' => 'nosotros', function() { return View::make('nosotros'); }));
Una aplicación que podemos darle es la de generar un link en una plantilla así:
Código :
{{ link_to_route('nosotros', 'Nosotros'); }}
Esto nos va a generar una etiqueta <a>, suponiendo que nuestro proyecto se encuentra en http://localhost/proyecto:
Código :
<a href="http://localhost/proyecto/nosotros/">Nosotros</a>
ó tal vez, simplemente un link:
Código :
$link = URL::route('nosotros');
ó una redirección:
Código :
return Redirect::route('nosotros');
Al fin de cuentas todas estas posibilidades nos mandará a la misma ruta.
Parámetros en rutas
Este proceso es muy parecido a Node.js, así de sencillo se pueden recibir parámetros:
Código :
Route::get('usuario/{nombre}/{comentario}', function($nombre, $comentario) { return 'Hola Usuario '. $nombre .' tu comnetario es '. $comentario; })->where(array('commentario' => '[a-z]+', 'nombre' => '[a-z]+')); // se pueden usar las expresiones regular para restringir, si no se aceptan mandará un error 404.
Rutas en grupo
Ahora vamos con algo que me parece genial, agrupar rutas para tener control y legibilidad en el código además de poder aplicar filtros a estas rutas agrupadas.
Con "prefix" damos nombre al grupo:
Código :
Route::group(array('prefix'=>'pagina'), function() { Route::get('/nosotros', array('as' => 'nosotrosGET', function() { return 'okay' })); Route::post('/nosotros', array('as' => 'nosotrosPOST', function() { return 'REokay' })); });
y podemos llamar la ruta como hicimos anteriormente pero ahora más legible:
Código :
return Redirect::route('pagina.nosotrosGET');
Filtros
A estos grupos se les puede aplicar 'before' para aplicarle filtros que están definidos en el archivo filters.php. De esta manera:
Código :
Route::group(array('before'=>'NombreFiltro'), function(){ ......
y en filters.php lo creamos:
Código :
Route::filter('NombreFiltro', function() { if(!Auth::check())//no estas logueado? { return Redirect::to('/login');//vete al login y autenticate } });
y esto aplica para todas las rutas agrupadas.
Me sorprende cada día más la facilidad de Laravel, parece que Taylor Otwell ha desarrollado este framework a la medida. Puedes leer más sobre rutas en Laravel. Aquí
¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.
Por E el 26 de Abril de 2014
Estoy tratando de instalar laravel 4 en una Mac Os con la ultima actualizacion del OS
con este manual:
http://codehero.co/laravel-4-desde-cero-instalacion-configuracion/
Pero en un punto cuando corro esta linea:
composer create-project laravel/laravel codehero-laravel --prefer-dist
El me da un error de MyCrypt
y no me deja instalar nada.
Cual seria la mejor forma para hacerlo en la mac
Por juanvc123 el 27 de Abril de 2014
E :
Estoy tratando de instalar laravel 4 en una Mac Os con la ultima actualizacion del OS
con este manual:
http://codehero.co/laravel-4-desde-cero-instalacion-configuracion/
Pero en un punto cuando corro esta linea:
composer create-project laravel/laravel codehero-laravel --prefer-dist
El me da un error de MyCrypt
y no me deja instalar nada.
Cual seria la mejor forma para hacerlo en la mac
Sería bueno que pusieras el error para poderte ayudar
Por E el 27 de Abril de 2014
http://www.putimg.net/image.php?id=1398629637
Espero te sirva
Realmente tengo tiempo empezando el curso de laravel e incluso estoy por iniciar en mejorando.la desde que abran el curso.
La verdad estoy muy entusiasmado con este framework ya que vengo de Codeigniter y conosco algunos frameworks de java que me inspiraron a salir de los estructurado a los MCV y mas.
en mi pais hay muy pocas personas que lo usan y
aun no suben un tuto completo como el que estas haciendo, de verdad
espero ver el tuto completo.
Y Gracias de Antemano.
un cordial Saludo.
Por juanvc123 el 01 de Mayo de 2014
E :
http://www.putimg.net/image.php?id=1398629637
Espero te sirva
Realmente tengo tiempo empezando el curso de laravel e incluso estoy por iniciar en mejorando.la desde que abran el curso.
La verdad estoy muy entusiasmado con este framework ya que vengo de Codeigniter y conosco algunos frameworks de java que me inspiraron a salir de los estructurado a los MCV y mas.
en mi pais hay muy pocas personas que lo usan y
aun no suben un tuto completo como el que estas haciendo, de verdad
espero ver el tuto completo.
Y Gracias de Antemano.
un cordial Saludo.
Por lo que alcanzo ver en la imagen que pusiste no te deja usar el comando mkdir, tal vez mejor ejecutes la consola como Administrador y luego intenta de nuevo.
Por juanvc123 el 01 de Mayo de 2014
E :
http://www.putimg.net/image.php?id=1398629637
Espero te sirva
Realmente tengo tiempo empezando el curso de laravel e incluso estoy por iniciar en mejorando.la desde que abran el curso.
La verdad estoy muy entusiasmado con este framework ya que vengo de Codeigniter y conosco algunos frameworks de java que me inspiraron a salir de los estructurado a los MCV y mas.
en mi pais hay muy pocas personas que lo usan y
aun no suben un tuto completo como el que estas haciendo, de verdad
espero ver el tuto completo.
Y Gracias de Antemano.
un cordial Saludo.
Intenta ejecutar la terminal con todos los privilegios.
Por elporfirio el 18 de Febrero de 2015
chown, chmod y sudo serán los comandos que necesitas
Por Rafael el 30 de Abril de 2015
Route::get('dime', function() {
return 'okay';
});
Me sale:
Not Found
The requested URL /registro/public/dime was not found on this server.
Apache/2.4.7 (Ubuntu) Server at localhost Port 80