Debido a las actualizaciones recientes (a fecha de esta entrada) necesitamos actualizar nuestra base de conocimientos. Es muy útil tener un glosario a modo de resumen de ciertas definiciones. Además, los pasos para crear un proyecto desde cero han variado ligeramente. Crear un proyecto Cuando creamos un proyecto nuevo de Laravel 9 con los comandos […]
¿Qué es Jetstream? Directamente de la documentación de Laravel: Jetstream provides the implementation for your application’s login, registration, email verification, two-factor authentication, session management, API… Instalación Nuevo proyecto con Jetstream Vamos a la consola de Gitbash, y dentro de nuestro directorio htdocs de XAMPP la línea de más abajo para un nuevo proyecto. A este […]
Archivos: resources/views/layouts/header.blade.php Agregaremos al menú de navegación un link «contáctanos». Al pulsarlo, nos redirigirá a una vista que mostrará un formulario donde poner el nombre, el mail y un mensaje. Esa información nos será enviada en un correo electrónico. Enlace en el menú Abrimos la platilla de headers dentro de la carpeta partials, para añadir […]
Archivos: .env config/mail.php resources/routes/web.php Conectar con el proveedor de correo electrónico Laravel está configurado para conectar con ciertos proveedores que usan APIs, aunque podemos conectarnos con cualquier otro siempre que instalemos los archivos necesarios. Desde config/mail.php podemos ver toda la configuración necesaria. La primera decisión a tomar es elegir entre API y SMTP. En el […]
Archivos: resources/views/layouts/plantilla.blade.php routes/web.php resources/views/layouts/partials HTML del menú de navegación Este es el prototipo del código del menú de navegación, que escribiremos en el archivo de plantilla plantilla.blade.php: Nombraremos nuestra ruta principal como «Home». En el archivo de rutas: Vamos a crear una ruta para «Nosotros» con el siguiente código, que utiliza un método distinto: el […]
Archivos: database/migrations database/factories Crear el campo slug Genramos un nuevo campo dentro de la migración de la tabla cursos, llamado «slug» Editamos el factory de esta tabla: Hemos llamado a la clase Str y a su método slug. Cambiará todas las mayúsculas por minúsculas y sustituirá los espacios por guiones (porque hemos establecido un guión […]
Archivos: routes/web.php Uso de route resource Desde la consola de Git Bash, navegamos hasta el directorio de nuestro proyecto y ejecutamos el siguiente comando de artisan: php artisan «route list» Comentamos todas las rutas y vamos a definir la rutas del CRUD de la siguiente forma: Si volvemos a ejecutar el comando route list, veremos […]
Archivos: routes/web.php CursoController.php Crearemos una ruta de tipo delete, que apunte a una url llamada curso.destroy. Crearemos un método destroy() en nuestro controlador. Como se está mandando información por la url, lo rescatamos en el controlador. Añadiremos un botón eliminar en la vista show dentro de un formulario. El formulario tendrá la directiva method con […]
Archivos: resources/views/cursos/create.blade.php Actualizando método store Si un formulario tuviese muchísimos campos, resultaría tedioso asignar cada campo a un valor dentro del método del controlador. Para ello podemos asignar todos los campos con una única línea de código, aunque para ello tendremos que tomar ciertas medidas de seguridad. En el método store, creábamos un objeto Curso […]
Archivos: resources/views/cursos/create.blade.php appHttpControllersCursoController.php lang/ config/app.php app/Http/Requests Validar campos requeridos Campos no vacíos Cuando un campo de la base de datos no tenga la propiedad nullable, no deberíamos intentar guardar campos vacíos sin mostrar un error. Para eso tenemos que validar los campos del formulario. En la función store, usaremos un método del objeto request llamado […]