/*************************************************************************/
Donde "test_laravel" es el nombre del proyecto (Cambiar nombre).
Saludos.
4 comentario(s)
Route::get('/lorem/fadf/about', function() { return route('about'); })->name('about');
Para trabajar con rutas, se usa la palabra reservada Route, como vemos, tenemos nuestra ruta de inicio homestead.test.
En este ejemplo, crearemos una nueva ruta llamada name. La cual, será llamada cuando entremos a homestead.test/name, y nos mostrará el mensaje “Hola”. Para ello, se usará ´´´ Route::get('/name', function() { return "Hola"; }); ´´´
¿Qué se ha hecho?
Se llama Route. podemos ponerle un verbo get, post, delete, etc. dentro del método recibe dos parámetros: El primero la ruta El segundo un closure el cual contiene la lógica que vamos a devolver.
Podemos hacer envío de parámetros, en este caso, recibiremos un parámetro llamado name:
´´´ Route::get('/name/{name}', function($name) { return "Hola " . $name; }); ´´´
Si escribimos homestead.test/name/Jonathan, nos devolverá una página con el mensaje “Hola Jonathan”. Si no colocamos el parámetro Jonathan, nos devolverá un 404.
Si queremos que el parámetro sea opcional, es decir que igual nos muestre pese a que no se tenga un parámetro, se tiene que agregar el símbolo ?, de la siguiente manera:
´´´ Route::get('/name/{name?}', function($name = 'Default') { return "Hola " . $name; }); ´´´
Así si nosotros accedemos a homestead.test/name, sin ningún parámetro, nos devolverá el mensaje “Hola default”, ya que nos muestra un valor por defecto si es que no declaramos un parámetro.
Podemos agrupar un conjunto de rutas siguiendo una cierta característica. En este ejemplo hacemos que se muestre solo si tiene un prefijo admin:
´´´ Route::group(["prefix" => 'admin'], function() { Route::get('/name/{name?}', function($name = 'Default') { return "Hola " . $name; }); }); ´´´
Podemos mapear una ruta a todos los verbos. Si hacemos una petición post o delete, nos devolvería lo mismo:
´´´ Route::any('/foo', function() { return "/foo"; }); ´´´
Para mapear con algunos verbos se hace de la siguiente manera:
´´´ Route:: match(['get', 'post'], '/match' , function() { return "match"; }); ´´´
También podemos hacer que nuestro parámetro siga un patrón, es decir que valide un determinado tipo, esto se hace con expresiones regulares:
´´´ Route::group(["prefix" => 'admin'], function() { Route::get('/name/{name?}', function($name = 'Default') { return "Hola " . $name; })->where('name', '[A-Za-z]+'); }); ´´´
Laravel nor permite tener un método name, que nos ayuda a poder redireccionar con un nombre, evitando colocar toda la ruta, por ejemplo:
´´´ Route::group(["prefix" => 'admin'], function() { Route::get('/name/{name?}', function($name = 'Default') { return "Hola " . $name; })->name('name'); });
href="{{ route('name') }}" ´´´