Está en la página 1de 5

ACTIVIDAD 3

INVESTIGACION DE LAS RUTAS DE


LAVAREL (ROUTE)

Luis Adrián Jiménez López

Tuxtla Gutiérrez, Chiapas


31 octubre de 2021

Universidad CEUSS

Ingeniería en Sistemas Computacionales

Robótica
Mtro. Edwar Antonio López Gallardo
¿Que son las rutas en Laravel?
son una de las capas más importante en el Framework, es un sistema de rutas que  se
encargan de manejar el flujo de solicitudes y respuestas, desde y hacia el cliente  (como
hacia el navegador, por ejemplo). Definen la dirección URL y el método por el cual se
puede ingresar a dicha ruta (GET, POST, etc.).

¿Dónde definir las rutas en Laravel?


A partir de Laravel 5.3, las rutas tienen su propia carpeta en la raíz del proyecto para llevar
una mejor organización, llamada “routes/” y dentro de esta carpeta vienen cuatro archivos
de rutas:

 routes/api.php: En este archivo se definen todas las rutas de las APIs que puede
llegar a tener nuestra aplicación.
 routes/channels.php: Aquí definimos los canales transmisión de eventos. Por
ejemplo, cuando realizamos notificaciones en tiempo real.
 routes/console.php: En el archivo de rutas console.php definimos comandos de
consola que pueden interactuar con el usuario u otro sistema.
 routes/web.php: En este archivo de rutas es donde definimos todas las rutas de
nuestra aplicación web que pueden ser ingresadas por la barra de direcciones del
navegador.

Tipos de rutas
El sistema de rutas de Laravel es muy potente, pero a la vez es fácil de comprender y
utilizar. El Framework nos brinda distintos tipos de routes para atender cada una de las
solicitudes HTTP que recibe nuestra aplicación.
Solo basta con utilizar la clase Routes con el método que corresponda al verbo HTTP:
Route: :get ($uri, $ callback);
Route: :post ($uri, $ callback);
Route: :put ($uri, $ callback);
Route: :patch ($uri, $ callback);
Route: :delete ($uri, $ callback);
Route: :options ($uri, $ callback);
Rutas con parámetros obligatorios
Podemos definir rutas con parámetros dinámicos que recibirá el método del controlador.

Route::get('/listado-de-publicaciones/{categoria}', 'PostController@index');

class PostController extends Controller

public funtion index($categoria)

(...)

En PHP puro, la ruta anterior se podría interpretar como /listado-de-publicaciones?


categorias=[valor].
Pero, una de las grandes ventajas del sistema de rutas de Laravel es que, definiendo el
parámetro entre llaves, de esta forma {categorías}, le estamos diciendo al sistema que si
o si debe recibir un parámetro categorías con un valor no nulo. Luego, capturamos el
valor en nuestro controlador con la variable $categorías.
Esto es de gran ayuda ya que el sistema de rutas valida automáticamente que la variable
no este vacía.
Rutas con parámetros opcionales
Cuando necesitamos definir rutas, pero con parámetros opcionales, debes utilizar el
carácter “?” al final del parámetro para indicarle al sistema de rutas que la variable puede
o no ser nula.
Route::get('/listado-de-publicaciones/{categoria?}', 'PostController@index');

class PostController extends Controller

public funtion index($categoria = null)

(...)

Si definimos una ruta con parámetro opcional entonces tenemos que asignarle un valor
por defecto en el método de nuestro controlador. En el ejemplo puse  null, pero podría ser
cualquier valor que quieras.

Grupos de rutas en Laravel


Definir grupos de rutas es una funcionalidad muy útil que nos brinda Laravel.
Además de mantener un orden, nos permite aplicar middlewares en comun,
definir un namespace, subdominios y prefijos en nuestras rutas.
Grupos de rutas con middleware en común

Route::group(['middleware' => 'auth'], function () {

Route::get('/', 'DashboardController@index');

Route::get('user/profile', 'ProfileController@show');
});

Grupos de rutas con namespaces

Route::group(['namespace' => 'Admin'], function () {

// Rutas para controladores en "App\Http\Controllers\Admin"

});

Grupos de rutas con subdominio

Route::group(['domain' => '{account}.myapp.com'], function () {

Route::get('user/{id}', 'AccountController@show');

});

Grupos de rutas con prefijo

Route::group(['prefix' => 'admin'], function () {

Route::get('users', AdminController@show');

});

También podría gustarte