Skip to content

2. Instalación y Configuración de Laravel

Composer es el gestor de dependencias para PHP que Laravel utiliza para manejar sus paquetes y dependencias. Antes de instalar Laravel, asegúrate de tener instalado:

  • PHP >= 8.1
  • Composer
  • Las extensiones de PHP requeridas (mencionadas en la sección de Introducción)

La forma más rápida de comenzar con Laravel es utilizando el instalador global de Laravel:

Terminal window
composer global require laravel/installer

Una vez instalado, puedes crear un nuevo proyecto Laravel con el comando laravel new:

Terminal window
laravel new mi-proyecto

Alternativamente, puedes crear un proyecto Laravel utilizando directamente Composer:

Terminal window
composer create-project laravel/laravel mi-proyecto

Si necesitas instalar una versión específica de Laravel, puedes especificarla así:

Terminal window
composer create-project laravel/laravel mi-proyecto 10.*
Terminal window
# Navegar al directorio del proyecto
cd mi-proyecto
# Verificar la instalación
php artisan --version

Laravel utiliza un archivo .env para gestionar la configuración del entorno. Cuando instalas Laravel, se crea automáticamente un archivo .env.example que debes copiar a .env:

Terminal window
cp .env.example .env

A continuación, genera una clave de aplicación:

Terminal window
php artisan key:generate

El archivo .env contiene variables de entorno cruciales para tu aplicación. Aquí están las más importantes que debes configurar:

# Entorno de la aplicación
APP_NAME=Laravel
APP_ENV=local # local, production, testing, staging
APP_KEY=base64:tu-clave-generada
APP_DEBUG=true # true para desarrollo, false para producción
APP_URL=http://localhost
# Configuración de la base de datos
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
# Configuración de correo
MAIL_MAILER=smtp
MAIL_HOST=mailhog
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS="hello@example.com"
MAIL_FROM_NAME="APP_NAME"

Acceder a variables de entorno en el código

Section titled “Acceder a variables de entorno en el código”

Para acceder a las variables de entorno en tu código Laravel, puedes utilizar la función helper

env()
. Esta función acepta dos parámetros:

  1. El nombre de la variable de entorno que deseas obtener
  2. Un valor predeterminado (opcional) que se devolverá si la variable no existe

Ejemplo de uso:

$databaseName = env('DB_DATABASE', 'laravel');

Sin embargo, es recomendable utilizar el helper

config()
para acceder a valores de configuración, ya que estos valores se almacenan en caché durante las solicitudes, mejorando el rendimiento:

$appName = config('app.name');

Laravel tiene una estructura de carpetas bien organizada. Aquí están los directorios principales y su propósito:

DirectorioDescripción
app/
Contiene el código principal de la aplicación
bootstrap/
Contiene archivos de inicio y caché
config/
Contiene todos los archivos de configuración
database/
Contiene migraciones, factories y seeders
public/
El punto de entrada de la aplicación y assets públicos
resources/
Contiene vistas, assets sin compilar y traducciones
routes/
Contiene todas las definiciones de rutas
storage/
Contiene logs, caché compilado y archivos generados
tests/
Contiene pruebas automatizadas
vendor/
Contiene dependencias de Composer (no editar)
  • .env
    : Configuración del entorno
  • composer.json
    : Dependencias y configuración de Composer
  • package.json
    : Dependencias de Node.js para frontend
  • artisan
    : CLI de Laravel
  • webpack.mix.js
    o
    vite.config.js
    : Configuración de compilación de assets

Laravel incluye un servidor de desarrollo integrado a través de Artisan, que es perfecto para el desarrollo local.

Para iniciar el servidor de desarrollo:

Terminal window
php artisan serve

Por defecto, el servidor se ejecuta en

http://localhost:8000
.

Puedes personalizar el host y el puerto:

Terminal window
php artisan serve --host=0.0.0.0 --port=8080

Laravel incluye Tinker, una REPL (Read-Eval-Print Loop) que te permite interactuar con tu aplicación desde la línea de comandos:

Terminal window
php artisan tinker

Ejemplo de uso:

>>> AppModelsUser::count();
=> 5
>>> $user = AppModelsUser::find(1);
=> AppModelsUser {...}
>>> $user->email;
=> "admin@example.com"
Terminal window
# Listar todos los comandos disponibles
php artisan list
# Crear un controlador
php artisan make:controller UserController
# Crear un modelo con migración
php artisan make:model Product -m
# Ejecutar migraciones
php artisan migrate
# Limpiar caché
php artisan cache:clear
# Optimizar la aplicación para producción
php artisan optimize

Laravel proporciona herramientas para internacionalizar tu aplicación y manejar zonas horarias.

El idioma predeterminado se configura en

config/app.php
:

'locale' => 'es',
'fallback_locale' => 'en',

Los archivos de traducción se almacenan en

resources/lang/{idioma}/
.

Para crear un nuevo archivo de traducción:

  1. Crea la carpeta del idioma si no existe:
    resources/lang/es/
  2. Crea un archivo PHP con las traducciones:
resources/lang/es/messages.php
<?php
return [
'welcome' => 'Bienvenido a nuestra aplicación',
'goodbye' => 'Hasta pronto',
];

Puedes usar el helper __() para traducir textos:

echo __('messages.welcome');
// Muestra: Bienvenido a nuestra aplicación

O en Blade:

{{ __('messages.welcome') }}
// Cambiar el idioma actual
App::setLocale('es');
// Verificar el idioma actual
if (App::isLocale('es')) {
// Código específico para español
}

La zona horaria predeterminada se configura en

config/app.php
:

'timezone' => 'America/Mexico_City',

Laravel utiliza Carbon para manejar fechas, que es una extensión de la clase DateTime de PHP:

use CarbonCarbon;
// Fecha actual en la zona horaria de la aplicación
$now = Carbon::now();
// Formatear fecha
echo $now->format('Y-m-d H:i:s');
// Fecha localizada
echo $now->locale('es')->isoFormat('LLLL');
// Ejemplo: "domingo, 15 de junio de 2025 23:34"

Ahora que tienes Laravel instalado y configurado, puedes comenzar a desarrollar tu aplicación. Los siguientes pasos podrían ser:

  1. Configurar la base de datos y crear migraciones
  2. Definir rutas y controladores
  3. Crear modelos Eloquent
  4. Diseñar vistas con Blade
🐝