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.

  1. ¿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.

  1. 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:

composer global require laravel/installer

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:

laravel new nombre-del-proyecto

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:

composer create-project --prefer-dist laravel/laravel nombre-del-proyecto

  1. 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.

  1. 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:

php artisan key:generate

  1. 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:

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

Controladores

Puedes crear un controlador usando Artisan:

php artisan make:controller MiControlador

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:

Route::get('/mi-vista', function () {
    return view('mi-vista');
});

  1. Ejercicio Práctico

Ejercicio: Crear una Página de Bienvenida

  1. Crear una Ruta: Define una nueva ruta en routes/web.php que apunte a una página de bienvenida.
  2. Crear un Controlador: Usa Artisan para crear un controlador que maneje la lógica de la página de bienvenida.
  3. Crear una Vista: Crea una vista Blade que muestre un mensaje de bienvenida.

Solución:

  1. Definir la Ruta:

    // routes/web.php
    Route::get('/bienvenida', [App\Http\Controllers\BienvenidaController::class, 'index']);
    
  2. 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');
        }
    }
    
  3. 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

Módulo 2: Estructuras de Control

Módulo 3: Funciones

Módulo 4: Arrays

Módulo 5: Trabajando con Formularios

Módulo 6: Trabajando con Archivos

Módulo 7: Programación Orientada a Objetos (POO)

Módulo 8: Trabajando con Bases de Datos

Módulo 9: Técnicas Avanzadas de PHP

Módulo 10: Frameworks de PHP y Mejores Prácticas

Módulo 11: Proyecto: Construyendo una Aplicación Web

© Copyright 2024. Todos los derechos reservados