La ruta es una forma de crear una URL de solicitud para su aplicación. Estas URL no necesitan estar asociadas con archivos específicos en un sitio web y son legibles por humanos y compatibles con SEO.
En Laravel, las rutas se crean dentro de la carpeta de archivos. routes
. Se crean en el archivo. web.php
para sitios web, y dentro api.php
para las API.
Estos route
se asignan al grupo middleware
red, destacando el estado de la sesión y la seguridad CSRF
. Las rutas en route/api.php
no tienen estado y están asignados al grupo de middleware de API.
la preinstalaciondefiLaravel nita viene con dos rutas, una para la web y otra para la API. Así es como se ve la ruta para la web en web.php
:
Route::get('/', function () {
return view('welcome');
});
Todos los caminos de Laravel son definiti en los archivos de ruta ubicados dentro del directorio routes
. La aplicación de gestión de rutas, defiterminado en el archivo App\Providers\RouteServiceProvider
, se encarga de alinear automáticamente estos archivos. El archivo route/web.php
defiFinaliza las rutas para su interfaz web.
puede defiFinalice una ruta para esta acción del controlador de la siguiente manera:
Route::get(‘user/{id}’, ‘UserController@show’);
Route::resource
: el método Route::resource
produce todas las rutas básicas requeridas para una aplicación y se administra a través de la clase de controlador.
Cuando una solicitud coincide con el URI de ruta especificado, se invoca el método show
defiterminado en el controlador App\Http\ControllersUserController
, pasando los parámetros de ruta al método.
Para obtener recursos, debe hacer dos cosas en la aplicación laravel. Primero, debe crear una ruta de recursos en laravel que proporciona rutas de inserción, actualización, visualización y eliminación. En segundo lugar, cree un controlador de recursos que proporcione un método para insertar, actualizar, ver y eliminar.
la preinstalaciondefiLaravel nita viene con dos caminos: uno para la web y otro para la API. Así es como se ve la ruta a la web en web.php:
Route::get(‘/’, function () {
return view(‘welcome’);
});
Programa intermedio de Laravel actúa como un puente entre la petición y la reacción. Puede ser algún tipo de componente de filtro.
laravel trabajar con un middleware que tiene la tarea de confirmar si la aplicación del cliente está verificada o no. En caso de que se confirme el cliente, el enrutamiento redirige a la página de inicio o una página de inicio de sesión.
route
El código anterior defitermina una ruta a la página de inicio. Cada vez que esta ruta recibe una solicitud get
para /
, devolverá el view
welcome
.
Todos los caminos de Laravel son definiti en tu routing
, que se encuentran dentro del directorio dei routes
. Como consecuencia, l'AppProvidersRouteServiceProvider
de la aplicación alinea estos registros. El archivo route/web.php
contiene las rutas que se administran para su interfaz web.
La estructura de la ruta es muy simple. Abra el archivo apropiado (`web.php
` o `api.php
` ) y comenzar la línea de código con `Route:: `
, seguido de la solicitud que desea asignar a esa ruta específica y luego especifique la función que se realizará después de la solicitud.
Laravel ofrece los siguientes métodos de ruta:
get
post
put
delete
patch
options
los caminos son definited en Laravel dentro de la clase Route con HTTP, la ruta para responder y cerrar, o el controlador.
Veamos cómo puedes crear tus propios caminos en Laravel.
Ahora voy a crear una ruta básica que imprimirá la tabla de multiplicar de 2.
Route::get('/table', function () {
for($i =1; $i <= 10 ; $i++){
echo "$i * 2 = ". $i*2 ."<br>";
}
});
En el código anterior, creé una ruta de solicitud GET para la URL /table
, que imprimirá la tabla de multiplicar de 2 en la pantalla.
Ahora veamos el mismo código, parametrizando el número para el que queremos la tabla de multiplicar:
Route::get('/table/{number}', function ($number) {
for($i =1; $i <= 10 ; $i++){
echo "$i * $number = ". $i* $number ."<br>";
}
});
En el código el 'number
' entre las llaves representa el parámetro, es decir, el número para el que se calculará la tabla de multiplicar. Siempre que se especifica una URL del tipo /table/n
, luego se imprimirá la tabla numérica n
.
También existe la forma de combinar ambas características en un solo camino. Laravel ofrece la función de parámetros opcionales que le permite agregar parámetros opcionales usando el signo de interrogación '?' después del parámetro opcional y el valor predefinoche Veamos el ejemplo:
Route::get('/table/{number?}', function ($number = 2) {
for($i =1; $i <= 10 ; $i++){
echo "$i * $number = ". $i* $number ."<br>";
}
});
En el código anterior, creamos nuestro parámetro de ruta, haciendo que el número sea opcional, por lo que si un usuario enruta `/table
`entonces generará la tabla de 2 por defectodefinite y si un usuario enruta a `/table/{number}
Entonces la tabla de números 'number'
se producira.
En el ejemplo anterior creamos un camino para generar la tabla de multiplicar, pero ¿cómo podemos asegurarnos de que el parámetro del camino sea realmente un número, para evitar errores al generar la tabla de multiplicar?
En Laravel, puedes defiterminar una restricción en el parámetro de ruta usando el método `where
` en la instancia de la ruta. el `where
` toma el nombre del parámetro y una expresión regular para ese parámetro.
Ahora veamos un ejemplo de una restricción para nuestro parámetro `{numero}
` para asegurarse de que solo se pase un número a la función.
Route:: get ( '/table/{numero?}' , funzione ( $numero = 2 ) {
for( $i = 1 ; $i < = 10 ; $i + + ) {
echo "$i * $numero = " . $i * $numero . "<br>" ;
}
} )->where( 'numero' , '[0-9]+' ) ;
En el código anterior, usamos una expresión regular para el número de ruta. Ahora, si un usuario intenta enrutar a /mesa/no será mostrado una excepción NotFoundHttpException.
En Laravel, puedes defiFinalizar un método de controlador para una ruta. Un método de controlador realiza todas las acciones. defifinita cada vez que un usuario accede a la ruta.
Con el siguiente código estamos asignando el método del controlador. 'functionname'
a una ruta:
Route:: get ( '/home' , 'YourController@functionname' ) ;
El código comienza con `Route::`
y luego defifinaliza el método de solicitud de la ruta. Después, defiFinalice su ruta y controlador junto con el método agregando el símbolo @ antes del nombre del método.
En Laravel, puedes defiTermina un nombre para tu camino. Este nombre suele ser muy útil. Por ejemplo, si desea redirigir a un usuario de una ubicación a otra, no tiene que defiFinalice la URL de redirección completa. Solo puedes dar su nombre. Puede defiterminar el nombre de la ruta usando el método `name
` en la instancia de la ruta.
Route::get('/table/{number?}', function ($number = 2) {
for($i =1; $i <= 10 ; $i++){
echo "$i * $number = ". $i* $number ."<br>";
}
})->where('number', '[0-9]+')->name(‘table’);
Ahora, podría regenerar la url para esta ruta, a través del siguiente código:
$url = route('table');
Del mismo modo, para redirigir a esta URL, la sintaxis correcta sería:
return redirect()->route('table');
Route Groups
I Route Groups
, literalmente grupos de rutas, es una característica esencial en Laravel, que te permite agrupar rutas. Los grupos de rutas son útiles cuando desea aplicar atributos a todas las rutas agrupadas. Si usa grupos de rutas, no tiene que aplicar los atributos individualmente a cada ruta; esto evita la duplicación. Te permite compartir atributos como middleware
o namespaces
, senza defitermine estos atributos en cada camino individual. Estos atributos compartidos se pueden pasar en un formato de matriz como el primer parámetro del método Route::group
.
Sintaxis de un grupo de rutas
Route::group([], callback);
donde []: es una matriz que se pasa al método de grupo como primer parámetro.
Ejemplo de Route Group
en web.php
Route::group([], function()
{
Route::get('/first' , function()
{
echo "first way route" ;
});
Route::get('/second' , function()
{
echo "second way route" ;
});
Route::get('/third' , function()
{
echo "third way route" ;
});
});
en el código, defiencontremos el método grupo(), que contiene los dos parámetros, es decir array
e closure
. Dentro de closure
, podemos defiterminar cuantos route
queremos. En el código anterior, tenemos defiterminado tres route
.
Si vía navegador accedemos a la URL localhost/myproject/first
luego interviene el primero route
escribiendo en el navegador first way route
.
con la URL localhost/myproject/second
luego viene el segundo route
escribiendo en el navegador second way route
.
Mientras que con la URL localhost/myproject/third
luego viene el tercero route
escribiendo en el navegador third way route
.
Route Groups
los prefijos de route
se usan cuando queremos proporcionar una estructura de URL común a múltiples route
.
Podemos especificar el prefijo para todas las rutas defifinitos dentro del grupo usando la opción de matriz de prefijos en Route Groups
.
Ejemplo de web.php
Route::group(['prefix' => 'movie'], function()
{
Route::get('/godfather',function()
{
echo "Godfather casting";
});
Route::get('/pulpfiction',function()
{
echo "Pulp Fiction casting";
});
Route::get('/forrestgump',function()
{
echo "Forrest Gump casting";
});
});
El código contiene tres rutas a las que se puede acceder desde las siguientes URL:
/movie/godfather ---> Godfather casting
/movie/pulpfiction ---> Pulp Fiction casting
/movie/forrestgump ---> Forrest Gump casting
También podemos asignar middleware a todas las rutas dentro de un grupo. El middleware debe ser defiterminado antes de crear el grupo. Para ver cómo hacer esto, lea nuestro artículo Laravel middleware cómo funciona.
Ejemplo:
Route::middleware(['age'])->group( function()
{
Route::get('/godfather',function()
{
echo "Godfather casting";
});
Route::get('/pulpfiction',function()
{
echo "Pulp Fiction casting";
});
Route::get('/forrestgump',function()
{
echo "Forrest Gump casting";
});
});
El método name
se utiliza para prefijar cada nombre de route
con una cadena especificada. en el metodo name
, necesitamos especificar la cadena con un carácter final en el prefijo.
Ejemplo web.php
Route::name('movie.')->group(function()
{
Route::get('users', function()
{
return "movie.films";
})->name('films');
});
Ercole Palmeri
En el Policlínico de Catania se realizó una operación de oftalmoplastia con el visor comercial Apple Vision Pro…
El desarrollo de la motricidad fina mediante la coloración prepara a los niños para habilidades más complejas como la escritura. Colorear…
El sector naval es una auténtica potencia económica mundial, que ha navegado hacia un mercado de 150 mil millones...
El lunes pasado, el Financial Times anunció un acuerdo con OpenAI. FT otorga licencia para su periodismo de clase mundial...