Puesto que Laravel usa Front Controller para redirigir las peticiones, cuando quieras crear una página no debes agregar un archivo .php a tu directorio público sino crear una ruta. En esta lección te enseñaré cómo definir rutas básicas con el framework Laravel a partir de la versión 6.

Esta lección incluye un video premium

Regístrate para ver este video y cientos de lecciones exclusivas.

Mira el código en GitHub: actual, resultado, comparación.

Al abrir la nueva aplicación en http://curso-laravel-styde.local o http://127.0.0.1:8000 (dependiendo de si has configurado un entorno / Virtual Host o has utilizado php artisan serve) deberías ver la página de inicio de Laravel. Esta página es en realidad una ruta definida en routes/web.php y esta ruta retorna una vista:

<?php

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

Route es un Facade que nos permite definir rutas a través de una sencilla interfaz estática. Por otro lado view es una sencilla función helper que nos permite crear y retornar una vista o plantilla. Las vistas y el concepto de Facades lo veremos más adelante. Por ahora enfoquémonos en las rutas.

Si eliminamos o comentamos la declaración de la ruta y recargamos la página en el navegador podremos ver que obtenemos un error 404, lo que quiere decir que esta página de inicio es totalmente opcional. También podemos cambiar su contenido, por ejemplo retornemos la cadena Styde:

<?php

Route::get('/', function () {
    return 'Styde';
});

Laravel es lo suficientemente listo para convertir esta cadena en una respuesta HTTP. Vamos ahora a retornar un arreglo y ver qué sucede:

<?php

Route::get('/', function () {
    return [
        'Cursos' => [
            'Primeros pasos con Laravel',
            'Crea un panel de control con Laravel',
            'Patrones de diseño con PHP',
        ]
    ];
});

El resultado puede variar dependiendo del navegador y también sorprenderte un poco. En este caso lo que sucede es que Laravel ha convertido el arreglo a una cadena en formato JSON y ha devuelto dicho JSON como una respuesta HTTP 200.

También por supuesto podemos personalizar la URL y cambiarla de / a cursos:

<?php

Route::get('cursos', function () {
    /** retorna un arreglo con cursos **/
});

Si recargamos la URL en el navegador veremos un error 404 otra vez, porque ahora los cursos están en la URL cursos.

Por supuesto podemos definir más de una ruta. De hecho en este curso crearemos una aplicación de notas, así que vamos a definir algunas de las rutas que necesitaremos.

Una para el listado de notas y otra para crear una nueva nota:

<?php
//...
Route::get('notas', function () {
    return 'Aquí estará nuestro listado de notas';
});

Route::get('notas/crear', function () {
    return 'Aquí podremos ver el formulario para crear notas';
});

Revisa el resultado en el navegador.

Suscríbete a nuestro boletín

Te enviaremos publicaciones con consejos útiles y múltiples recursos para que sigas aprendiendo.

Regístrate hoy en Styde y obtén acceso a todo nuestro contenido.

Lección anterior El Patrón Front Controller en Laravel 6 Lección siguiente Rutas con parámetros dinámicos en Laravel 6