Post Top Ad

Your Ad Spot

viernes, 17 de abril de 2020

Parámetros de enrutamiento Laravel

Hay dos tipos de parámetros que podemos usar:
  • Parámetros Requeridos
  • Parámetros opcionales
Parámetros de enrutamiento Laravel

Parámetros Requeridos

Los parámetros requeridos son los parámetros que pasamos en la URL. A veces, desea capturar algunos segmentos del URI, esto se puede hacer pasando los parámetros a la URL. Por ejemplo, desea capturar la identificación de usuario de la URL.
Veamos el ejemplo sin parámetros de ruta.
  1. <? php  
  2. Ruta :: get ( '/' ,  function ()  
  3. {  
  4.   volver "Esta es una página de inicio" ;    
  5. }  
  6. );  
  7. Ruta :: get ( '/ about' ,  function ()  
  8. {  
  9.   volver "Esta es una página sobre nosotros" ;    
  10. }  
  11. );  
  12. Ruta :: get ( '/ contact' ,  function ()  
  13. {  
  14.   volver "Esta es una página de contacto" ;    
  15. }  
  16. );  
Salida
Cuando ingresamos la URL "localhost / laravelproject / public /".
Parámetros de enrutamiento Laravel
Cuando ingresamos la URL "localhost / laravelproject / public / about".
Parámetros de enrutamiento Laravel
Cuando ingresamos la URL "localhost / laravelproject / public / contact".
Parámetros de enrutamiento Laravel
Veamos el ejemplo con parámetros de ruta.
  1. Ruta :: get ( '/ post / {id}' ,  función $ id )  
  2. {  
  3.   devolver "número de identificación es:" $ id ;    
  4. }  
  5. );  
Los parámetros de ruta están encerrados entre {} corchetes, y los parámetros deben contener caracteres alfabéticos. No debe contener el carácter '-', y en lugar de usar este carácter, puede usar el carácter '_'.
Los parámetros de ruta están disponibles en las devoluciones de llamada de ruta. La sintaxis de los parámetros de ruta se proporciona a continuación:
Nombre de los argumentos de devolución de llamada / controlador
Donde los argumentos del controlador son los parámetros de ruta.
Salida
Parámetros de enrutamiento Laravel
Veamos el ejemplo con múltiples parámetros de ruta.
  1. // También podemos pasar los múltiples parámetros.  
  2.   
  3. Ruta :: get ( '/ post / {id} / {name}' ,  función $ id $ name )  
  4. {  
  5.   devolver "número de identificación es:" $ id  . "" $ nombre ;    
  6. }  
  7. );  
Salida
Parámetros de enrutamiento Laravel

Parámetros opcionales

Suponga que desea especificar el parámetro de ruta ocasionalmente, para lograr esto, puede hacer que el parámetro de ruta sea opcional. Para hacer que el parámetro de ruta sea opcional, puede colocar '?' operador después del nombre del parámetro. Si desea proporcionar el parámetro opcional, y luego asegúrese de haber proporcionado también el valor predeterminado a la variable.
Comprendamos a través de algunos ejemplos.
Ejemplo 1:
  1. Ruta :: get ( 'usuario / {nombre?}' ,  Función  ( $ nombre = nulo) {  
  2.     devolver $ nombre ;   
  3. });  
Cuando no pasamos ninguna variable a la URL, la salida sería:
Parámetros de enrutamiento Laravel
Cuando pasamos ' akshita ' en la URL, la salida sería:
Parámetros de enrutamiento Laravel
De los resultados anteriores, observamos que el parámetro que pasamos en la URL es opcional. Como hemos proporcionado el valor predeterminado para el parámetro como Nulo, si no pasamos ningún parámetro, devolverá nulo. Si pasamos el parámetro en la URL, se mostrará el valor del parámetro.
Ejemplo 2
  1. Ruta :: get ( 'usuario / {nombre?}' ,  Función  ( $ nombre  =  'himani' ) {  
  2.     devolver $ nombre ;   
  3. });  
En el ejemplo anterior, hemos proporcionado el valor predeterminado como 'himani'.
Salida
Parámetros de enrutamiento Laravel
En el ejemplo anterior, no pasamos ningún parámetro, por lo que se devuelve el valor predeterminado.
Parámetros de enrutamiento Laravel

Restricciones de expresión regular

Estas son las restricciones que pueden formatear los parámetros de ruta utilizando el método where en una instancia de ruta. El método 'where' acepta el nombre del parámetro y la restricción de expresión regular que define cómo se debe restringir el parámetro.
Comprendamos a través de algunos ejemplos.
Ejemplo 1:
Supongamos que queremos pasar el nombre de usuario como un parámetro de ruta que contiene solo caracteres alfabéticos.
  1. Ruta :: get ( 'usuario / {nombre?}' ,  Función  ( $ nombre = nulo) {  
  2.     devolver $ nombre ;   
  3. }) -> where ( 'nombre' '[a-zA-Z] +' );  

Parámetros de enrutamiento Laravel
Ejemplo 2
Consideremos un ejemplo que solo acepta valores numéricos.
  1. Ruta :: get ( 'usuario / {id?}' ,  Función  ( $ id = nulo) {  
  2.     devuelve "id is:" $ id ;   
  3. } -> where ( 'id' '[0-9] +' );  

Parámetros de enrutamiento Laravel
Parámetros de enrutamiento Laravel
Ejemplo 3
Consideremos un ejemplo que acepta caracteres alfanuméricos.
  1. Ruta :: get ( 'usuario / {id} / {nombre}' ,  función  ( $ id $ nombre ) {  
  2.     devuelve "id is:" $ id  . "," .  "Nombre es:" $ nombre  ;   
  3. }) -> where ([ 'id' => '[0-9] +' ,  'name' => '[a-zA-Z] +' ]);  

Parámetros de enrutamiento Laravel

Restricciones globales

Siempre desea que un parámetro de ruta esté limitado por una expresión regular; entonces puedes usar el método del patrón. Puede definir estos patrones en el método de arranque de su RouteServiceProvider.
Las restricciones globales se usan cuando tenemos múltiples rutas, y las mismas restricciones se aplican a todas las rutas. En Global Restraints, no tenemos que aplicar las restricciones individualmente a cada ruta usando la cláusula where, solo necesitamos definir el patrón dentro del método boot (), y se aplicará a todas las rutas.
Vamos a entender esto a través de un ejemplo.
Paso 1: Agregue el patrón en el método de arranque del archivo RouteServiceProvider.php.
  1. función pública  boot ()   
  2. {  
  3. Ruta :: patrón ( 'id' ,  '[0-9] +' );  
  4. padre :: boot ();  
  5. }  
Paso 2: Agregue las rutas en el archivo web.php.
  1. Ruta :: get ( 'usuario / {id}' ,  función  ( $ id ) {  
  2.  devolver $ id ;   
  3. });  
  4. Ruta :: get ( 'post / {id}' ,  función  ( $ id ) {  
  5.  devolver $ id ;   
  6. });  
Salida
Cuando pasamos el parámetro de ruta a la URL '/ usuario', la salida sería:
Parámetros de enrutamiento Laravel
Cuando pasamos el parámetro de ruta a la URL '/ post', la salida sería:
Parámetros de enrutamiento Laravel

No hay comentarios.:

Publicar un comentario

Dejanos tu comentario para seguir mejorando!

outbrain

Páginas