SOTyTECH Logo
Iniciar sesión
Volver a publicaciones
Destacado 39 vistas

GUIA PARA INICIAR EN LARAVEL

J

José Adrián Jiménez Márquez

Autor

GUIA PARA INICIAR EN LARAVEL

Crear proyecto de Laravel


1.1 Creación del proyecto Laravel

Para crear un nuevo proyecto utilizando el framework Laravel, se debe ejecutar el siguiente comando desde la terminal. Este comando descarga e instala automáticamente la estructura base del proyecto junto con todas sus dependencias.

composer create-project laravel/laravel nombre_del_proyecto

Una vez finalizada la instalación, se generará una carpeta con el nombre especificado, la cual contendrá todos los archivos necesarios para comenzar el desarrollo de la aplicación.



1.2 Ingresar a la carpeta

Después de crear el proyecto, es necesario ingresar a la carpeta generada para poder ejecutar los comandos de configuración y desarrollo.

cd nombre_del_proyecto

ste comando posiciona la terminal dentro del directorio raíz del proyecto Laravel.



1.3 Instalación de Node.js y npm

Laravel utiliza Node.js y npm (Node Package Manager) para administrar las dependencias del frontend, compilar archivos CSS y JavaScript, así como ejecutar herramientas modernas de desarrollo. Por ello, es necesario instalar previamente Node.js, el cual incluye npm de forma predeterminada.

Una vez instalado, se recomienda verificar la instalación mediante los siguientes comandos:

node -v

npm -v




1.4 Instalación de dependencias del proyecto

Con el proyecto creado y Node.js instalado, se procede a descargar todas las dependencias definidas en el archivo package.json mediante el siguiente comando:

npm install

Este proceso instala las bibliotecas necesarias para la compilación y funcionamiento de los recursos frontend de la aplicación.




1.5 Compilación de recursos frontend

Una vez instaladas las dependencias, Laravel utiliza Vite para compilar los archivos CSS y JavaScript del proyecto. Para ello se pueden utilizar los siguientes comandos:

npm run build

npm run dev

Este comando inicia el servidor de desarrollo y recompila automáticamente los cambios realizados en los archivos frontend.


1.6 Instalación de Alpine.js

Alpine.js es un framework ligero de JavaScript que permite agregar interactividad a las vistas de Laravel de forma sencilla y eficiente.

Para instalar Alpine.js se ejecuta el siguiente comando:

npm install alpinejs


En el archivo resources\js\app.js se debe de colocar lo siguiente:

import Alpine from 'alpinejs';

window.Alpine = Alpine;

Alpine.start();

1.7 Instalación de Spatie Laravel Permission

Spatie Laravel Permission es un paquete ampliamente utilizado para implementar la gestión de roles y permisos dentro de aplicaciones Laravel. Este paquete facilita el control de acceso basado en roles y permisos asignados a los usuarios.

Para instalar el paquete se ejecuta el siguiente comando:

composer require spatie/laravel-permission


Despues deben de mostrar las migraciones con el siguiente comando: php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider"



1.8 Instalación de Laravel Breeze

Laravel Breeze es un paquete oficial que proporciona una implementación sencilla del sistema de autenticación de Laravel. Su instalación genera automáticamente las vistas, rutas, controladores y componentes necesarios para funcionalidades como inicio de sesión, registro de usuarios, recuperación de contraseña y panel principal de la aplicación.

Para instalar Laravel Breeze se debe ejecutar el siguiente comando desde la terminal:

composer require laravel/breeze --dev

Este comando descarga e instala el paquete Breeze como una dependencia de desarrollo dentro del proyecto.


Una vez completada la instalación, se debe ejecutar el siguiente comando para generar los archivos de autenticación:

php artisan breeze:install

Durante la instalación, Laravel solicitará seleccionar la tecnología que se utilizará para la interfaz de usuario. Para este proyecto se seleccionó la opción Blade with Alpine, ya que proporciona una estructura sencilla basada en vistas Blade y componentes Alpine.js.



Posteriormente, el asistente solicitará información adicional, como la habilitación del modo oscuro y el framework de pruebas a utilizar. Una vez finalizado el proceso, Breeze generará automáticamente la estructura de autenticación del proyecto.

Entre los archivos y directorios creados se encuentran:

  1. resources/views/auth/
  2. resources/views/layouts/
  3. resources/views/profile/
  4. resources/views/dashboard.blade.php
  5. routes/auth.php

Estos recursos incluyen las vistas para inicio de sesión, registro de usuarios, recuperación de contraseña, navegación principal, perfil de usuario y panel principal de la aplicación.





Arquitectura de Laravel


Recomendación

Usar en visual studio el paquete de iconos de Material Icon Theme para que sea mas fácil ver la estructura de laravel.


La arquitectura de Laravel se organiza de manera lógica para separar la configuración, la lógica de negocio y los recursos estáticos, estas son sus carpetas principales:

  1. app/: Incluyendo los Controladores (Controllers) y los Modelos (Models).
  2. config/: Se definen todos los archivos de configuración de la aplicación (base de datos, correos, sesiones, y más que se necesite integrar ).
  3. database/: Contiene los archivos para estructurar y poblar la base de datos, como las migraciones (migrations), seeders y factories.
  4. public/: Es el directorio expuesto, contiene los recursos públicos como imágenes, hojas de estilo.
  5. resources/views:  Almacena las vistas de la aplicación.
  6. routes/: Aquí se definen todas las rutas o URLs de la aplicación, separando las rutas web (web.php) de las rutas para APIs (api.php).
  7. storage/: Destinado a los archivos que genera la aplicación durante su ejecución, como logs de errores, cachés de vistas, sesiones y archivos subidos por los usuarios.




Crear un Modelo

php artisan make:model NombreModelo

Ejemplo:

php artisan make:model Producto


Crear una Migración

php artisan make:migration create_productos_table

Ejemplo:

php artisan make:migration create_productos_table


Ejemplo de campos para la migración

Crear un Controlador

php artisan make:controller ProductoController --resource



Crear Modelo + Migración + Controlador Resource

php artisan make:model Servicio -mcr


2. Configuración de la Base de Datos PostgreSQL


2.1 Instalación de PostgreSQL

Para el desarrollo del proyecto se utilizará PostgreSQL como sistema gestor de bases de datos. PostgreSQL es una base de datos relacional de código abierto que destaca por su estabilidad, seguridad y alto rendimiento, además de contar con soporte nativo en Laravel.

Para iniciar la instalación, se debe acceder al sitio oficial de PostgreSQL:

https://www.postgresql.org/download/

Una vez dentro del portal, se debe seleccionar el sistema operativo correspondiente. En este caso se eligió la opción Windows.



Posteriormente, el sitio redireccionará a la página de EnterpriseDB (EDB), donde se encuentran disponibles los instaladores oficiales de PostgreSQL para Windows. Se debe seleccionar la versión más reciente disponible para la arquitectura del sistema operativo.



2.2 Selección de componentes

Durante el proceso de instalación se mostrará una ventana para seleccionar los componentes que serán instalados. Se recomienda mantener activadas las opciones predeterminadas:

  1. PostgreSQL Server
  2. pgAdmin 4
  3. Stack Builder
  4. Command Line Tools

Estos componentes permiten administrar la base de datos mediante interfaz gráfica y línea de comandos.



2.3 Configuración de contraseña

Posteriormente, el instalador solicitará definir una contraseña para el usuario administrador de PostgreSQL denominado postgres. Esta contraseña será utilizada posteriormente para conectarse a la base de datos desde Laravel.

Es importante conservar esta información en un lugar seguro.


2.4 Configuración del puerto

El instalador solicitará especificar el puerto de comunicación que utilizará PostgreSQL. Se recomienda conservar el puerto predeterminado: 5432

Este puerto es utilizado por defecto por PostgreSQL y será configurado posteriormente dentro del proyecto Laravel.


2.5 Configuración regional

En la sección de configuración regional se puede mantener la opción predeterminada (DEFAULT), la cual establece la configuración regional adecuada para el nuevo clúster de base de datos.


2.6 Verificación de la instalación

Una vez concluida la instalación, PostgreSQL quedará disponible en el sistema. Para comprobar que la instalación fue realizada correctamente, se puede abrir la herramienta SQL Shell (psql) desde el menú de inicio de Windows. Al ejecutar la aplicación, se solicitarán algunos datos de conexión, como el servidor, usuario, contraseña y puerto configurados durante la instalación.




2.7 Creación de la base de datos

Después de iniciar sesión en PostgreSQL, se debe crear la base de datos que será utilizada por el proyecto Laravel mediante el siguiente comando:

CREATE DATABASE bd_prueba;

Una vez ejecutado el comando, PostgreSQL generará la base de datos denominada bd_prueba, la cual almacenará toda la información de la aplicación.


2.8 Configuración de PostgreSQL en Laravel

Finalmente, se debe configurar la conexión dentro del archivo .env del proyecto Laravel modificando los siguientes parámetros:

  1. DB_CONNECTION=pgsql
  2. DB_HOST=127.0.0.1
  3. DB_PORT=5432
  4. DB_DATABASE=bd_prueba
  5. DB_USERNAME=postgres
  6. DB_PASSWORD=contraseña_configurada

Una vez guardados los cambios, Laravel utilizará PostgreSQL como motor de base de datos para ejecutar migraciones, almacenar información y gestionar los registros de la aplicación.


Y después para crear la base de datos que se va usar, ejecutar CREATE DATABASE bd_prueba; y para consultar las bases de datos usar \l y para ver las tablas de la base de datos es con el comando \dt



Usar el gestor de base de datos TablePlus



Seleccionar PostgreSQL




Configurar la conexión a la base de datos





Configurar archivo php.ini de xampp


Ahora una vez abierto el archivo en un editor, buscar las variables:

;extension=pdo_pgsql

;extension=pgsql

y quitar los ; para que se habilite


Configurar archivo. env, se define la conexión a la base de datos, por ejemplo:

DB_CONNECTION=pgsql

DB_HOST=127.0.0.1

DB_PORT=5432

DB_DATABASE=bd_prueba

DB_USERNAME=postgres

DB_PASSWORD=la_contraseña



Para hacer migraciones a la base de datos, se ejecuta el comando: php artisan migrate


Semillas

Una semilla (Seeder) es una clase de Laravel que permite insertar datos iniciales o de

En lugar de capturar los datos manualmente cada vez que se crea la base de datos, se ejecuta una semilla y Laravel los inserta automáticamente.

Crear una semilla

Para crear una semilla de roles y permisos:

php artisan make:seeder RolesAndPermissionsSeeder

Esto generará:

database/

└── seeders/

   └── RolesAndPermissionsSeeder.php




El comando para que se inicie la semilla y se inserte en la base de datos es php artisan db:seed --class=RolesAndPermissionsSeeder