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 9.
Mira el código en GitHub: actual, resultado, comparación.
Al abrir la nueva aplicación 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' => [ 'Curso de Laravel 9', 'Curso de programación orientada a objetos', 'Curso de Git', ] ]; });
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.
Aprende más sobre los diferentes códigos de status HTTP.
Por supuesto también 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 'Listado de notas'; }); Route::get('notas/crear', function () { return 'Crear nueva nota'; });
Revisa el resultado en el navegador.
Regístrate hoy en Styde y obtén acceso a todo nuestro contenido.
Lección anterior El Patrón Front Controller en Laravel 9 Lección siguiente Rutas con parámetros dinámicos en Laravel 9