Aprende Laravel: Rutas

Este es el segundo artículo de seis relacionado a como usar laravel por primera vez, en este artículo vamos a conocer lo básico del sistema de rutas de Laravel

Laravel Logo

Enrutamiento se trata de agregar rutas que permiten a las personas acceder a tu aplicación web. Sí, es tan simple como eso. Llamamos a esas rutas "routes" en inglés.

Rutas en Laravel

Laravel tiene una carpeta dedicada llamada "routes", que alberga todos los diferentes tipos de rutas que existen en Laravel. Si revisas la carpeta de rutas de nuestra aplicación, verás 4 archivos de rutas. Primero, permíteme explicar esos archivos.

  • api.php: Aquí es donde puedes definir las rutas de la API. Cada ruta definida aquí se prefija automáticamente con "api/". Las rutas definidas aquí son sin estado (stateless).
  • channels.php: Aquí es donde puedes definir canales de transmisión para diferentes eventos en nuestra aplicación.

  • console.php: Aquí es donde puedes definir tus propios comandos de Artisan. Todos los comandos definidos aquí se basan en closures.

  • web.php: Aquí es donde puedes definir las rutas que tienen estado. Las rutas definidas aquí se basan en sesiones. Nos centraremos en este archivo durante toda esta serie.

Route Facade

El facade route es quien realiza toda la magia dentro de los archivos api.php y web.php.

Todo el código que hace que el enrutamiento funcione se encuentra en el directorio illuminate/Routing/, pero accedemos a él a través de la fachada / facade Illuminate\Support\Facades\Route.

Ejemplos de rutas

Casi todos los métodos de ruta aceptan dos parámetros: la ruta y un callback (excepto algunos de ellos).

Tenemos una ruta home dentro del archivo web.php que es parecida a esta:

1Route::get('/', function () {
2 return view('welcome');
3});

Como pueden ver, esta ruta en particular cumple con el enunciado anterior "una ruta y un callback". Esta es la ruta predeterminada definida en el archivo web.php. Esta ruta le indica a Laravel que muestre el archivo resources/views/welcome.blade.php cuando alguien accede a nuestra URL base. El segundo parámetro es un callback, en este caso una función anónima. Esta ruta también podemos escribirla de la siguiente forma:

1Route::view('/', 'welcome');

Para este ejemplo solo necesitamos dos cosas, la ruta y la vista que vamos a mostrar. También podemos pasar el nombre de un controlador y una función como callback que se encargará de la solicitud de esta forma:

1Route::get('/', 'HomeController@index');

En este ejemplo, la petición que se está ejecutando va a ser resuelta por el método index del controlador HomeController

Los parámetros de ruta

Pasando variables a través de la URL es algo común entre los desarrolladores y la forma más fácil de hacerlo es adjuntando una cadena de consulta a la URL, como esta: http://localhost?user_id=1

En Laravel, puedes adjuntar una variable a la URL sin la cadena de consulta tradicional.

Definir una ruta con parámetros es fácil. El parámetro que forma parte de una ruta debe estar dentro de un par de llaves y debe ser pasado como parámetro a la función de esta forma:

1Route::get('/{user_id}', function ($user_id) {
2 return view('welcome');
3});
Angel Cruz's avatar
Autor
Angel Cruz