Laravel es uno de los frameworks de PHP más populares y utilizados en el desarrollo de aplicaciones web. Su sintaxis elegante y su robusta estructura lo hacen ideal tanto para principiantes como para desarrolladores experimentados. En esta sección, aprenderemos cómo empezar con Laravel, desde la instalación hasta la creación de un proyecto básico.
- ¿Qué es Laravel?
Laravel es un framework de PHP de código abierto que sigue el patrón de arquitectura Modelo-Vista-Controlador (MVC). Fue creado por Taylor Otwell y está diseñado para facilitar el desarrollo de aplicaciones web mediante una sintaxis expresiva y elegante.
Características Clave de Laravel:
- Eloquent ORM: Un ORM (Object-Relational Mapping) que facilita la interacción con bases de datos.
- Blade: Un motor de plantillas simple pero potente.
- Routing: Sistema de enrutamiento sencillo y flexible.
- Middleware: Facilita la implementación de capas de lógica entre la solicitud y la respuesta.
- Artisan: Una interfaz de línea de comandos que proporciona comandos útiles para el desarrollo.
- Instalación de Laravel
Requisitos Previos:
- PHP: Versión 7.3 o superior.
- Composer: Un gestor de dependencias para PHP.
- Servidor Web: Apache, Nginx, etc.
- Base de Datos: MySQL, PostgreSQL, SQLite, etc.
Paso 1: Instalación de Composer
Si no tienes Composer instalado, puedes descargarlo desde getcomposer.org. Sigue las instrucciones para tu sistema operativo.
Paso 2: Instalación de Laravel
Una vez que Composer esté instalado, puedes instalar Laravel globalmente ejecutando el siguiente comando en tu terminal:
Asegúrate de que el directorio ~/.composer/vendor/bin
esté en tu variable de entorno PATH
para que puedas ejecutar el comando laravel
desde cualquier lugar.
Paso 3: Crear un Nuevo Proyecto Laravel
Para crear un nuevo proyecto Laravel, ejecuta el siguiente comando:
Esto creará una nueva carpeta con el nombre de tu proyecto y descargará todas las dependencias necesarias.
Alternativa: Usar Composer Directamente
También puedes crear un nuevo proyecto Laravel usando Composer directamente:
- Estructura de un Proyecto Laravel
Una vez que el proyecto se ha creado, es importante entender la estructura de directorios y archivos:
- app/: Contiene el código fuente de la aplicación (controladores, modelos, etc.).
- bootstrap/: Contiene archivos de arranque y configuración.
- config/: Contiene archivos de configuración.
- database/: Contiene migraciones, fábricas y seeds.
- public/: Contiene el punto de entrada de la aplicación (index.php) y activos públicos (CSS, JS, imágenes).
- resources/: Contiene vistas, plantillas Blade, y archivos de idioma.
- routes/: Contiene archivos de rutas (web.php, api.php).
- storage/: Contiene logs, cachés y archivos generados.
- tests/: Contiene pruebas unitarias y funcionales.
- vendor/: Contiene dependencias instaladas por Composer.
- Configuración Inicial
Configuración del Entorno
Laravel utiliza un archivo .env
para la configuración del entorno. Este archivo contiene variables de entorno que puedes ajustar según tus necesidades:
APP_NAME=Laravel APP_ENV=local APP_KEY=base64:... APP_DEBUG=true APP_URL=http://localhost DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=nombre-de-la-base-de-datos DB_USERNAME=usuario DB_PASSWORD=contraseña
Generar la Clave de la Aplicación
Después de configurar el archivo .env
, genera la clave de la aplicación ejecutando:
- Primeros Pasos con Laravel
Rutas Básicas
Las rutas en Laravel se definen en el archivo routes/web.php
. Aquí tienes un ejemplo de una ruta básica:
Controladores
Puedes crear un controlador usando Artisan:
Esto creará un archivo MiControlador.php
en el directorio app/Http/Controllers
.
Vistas
Las vistas se almacenan en el directorio resources/views
. Puedes crear una vista llamada mi-vista.blade.php
:
<!-- resources/views/mi-vista.blade.php --> <!DOCTYPE html> <html> <head> <title>Mi Vista</title> </head> <body> <h1>¡Hola, Laravel!</h1> </body> </html>
Y luego retornar esta vista desde una ruta o un controlador:
- Ejercicio Práctico
Ejercicio: Crear una Página de Bienvenida
- Crear una Ruta: Define una nueva ruta en
routes/web.php
que apunte a una página de bienvenida. - Crear un Controlador: Usa Artisan para crear un controlador que maneje la lógica de la página de bienvenida.
- Crear una Vista: Crea una vista Blade que muestre un mensaje de bienvenida.
Solución:
-
Definir la Ruta:
// routes/web.php Route::get('/bienvenida', [App\Http\Controllers\BienvenidaController::class, 'index']);
-
Crear el Controlador:
php artisan make:controller BienvenidaController
// app/Http/Controllers/BienvenidaController.php namespace App\Http\Controllers; use Illuminate\Http\Request; class BienvenidaController extends Controller { public function index() { return view('bienvenida'); } }
-
Crear la Vista:
<!-- resources/views/bienvenida.blade.php --> <!DOCTYPE html> <html> <head> <title>Bienvenida</title> </head> <body> <h1>¡Bienvenido a Laravel!</h1> </body> </html>
Conclusión
En esta sección, hemos cubierto los conceptos básicos para empezar con Laravel, desde la instalación hasta la creación de un proyecto básico. Ahora deberías tener una comprensión sólida de cómo configurar y comenzar a trabajar con Laravel. En la siguiente sección, profundizaremos en la arquitectura MVC y cómo Laravel implementa este patrón para facilitar el desarrollo de aplicaciones web robustas y escalables.
Curso de Programación en PHP
Módulo 1: Introducción a PHP
- ¿Qué es PHP?
- Configuración del Entorno de Desarrollo
- Tu Primer Script en PHP
- Sintaxis y Variables en PHP
- Tipos de Datos en PHP
Módulo 2: Estructuras de Control
Módulo 3: Funciones
- Definiendo y Llamando Funciones
- Parámetros de Función y Valores de Retorno
- Ámbito de Variables
- Funciones Anónimas y Closures
Módulo 4: Arrays
Módulo 5: Trabajando con Formularios
- Manejo de Datos de Formularios
- Validación de Formularios
- Subida de Archivos
- Seguridad en Formularios
Módulo 6: Trabajando con Archivos
- Lectura y Escritura de Archivos
- Funciones de Manejo de Archivos
- Permisos de Archivos
- Funciones de Directorio
Módulo 7: Programación Orientada a Objetos (POO)
- Introducción a la POO
- Clases y Objetos
- Propiedades y Métodos
- Herencia
- Interfaces y Clases Abstractas
- Traits
Módulo 8: Trabajando con Bases de Datos
- Introducción a las Bases de Datos
- Conectando a una Base de Datos MySQL
- Realizando Operaciones CRUD
- Usando PDO para la Interacción con la Base de Datos
- Seguridad en Bases de Datos
Módulo 9: Técnicas Avanzadas de PHP
- Manejo de Errores y Excepciones
- Sesiones y Cookies
- Expresiones Regulares
- Trabajando con JSON y XML
- PHP y Servicios Web
Módulo 10: Frameworks de PHP y Mejores Prácticas
- Introducción a los Frameworks de PHP
- Empezando con Laravel
- Arquitectura MVC
- Mejores Prácticas en el Desarrollo de PHP
- Pruebas y Depuración