Configuración y Estructura de Directorios en Laravel: Guía Completa

Configuración y Estructura de Directorios en Laravel

1.2 Configuración del Entorno de Desarrollo

La configuración del entorno de desarrollo para Laravel es crucial para comenzar a trabajar eficientemente. Aquí tienes una guía detallada:

  1. Instala PHP (versión 7.3 o superior):
    • En Windows: Usa XAMPP o WampServer
    • En macOS: Usa Homebrew con el comando brew install php
    • En Linux: sudo apt-get install php
  2. Instala Composer:
    • Descarga el instalador desde getcomposer.org
    • Ejecuta el instalador y sigue las instrucciones
  3. Instala un servidor de base de datos:
    • MySQL: sudo apt-get install mysql-server (Linux)
    • PostgreSQL: brew install postgresql (macOS)
  4. Configura un servidor web local:
    • Apache viene incluido en XAMPP/WampServer
    • Para Nginx: sudo apt-get install nginx (Linux)
  5. Instala Node.js y NPM:
    • Descarga desde nodejs.org e instala

Ejemplo de creación de un proyecto Laravel:

composer create-project laravel/laravel mi-proyecto

cd mi-proyecto

php artisan serve

Esto iniciará un servidor de desarrollo en http://localhost:8000.

Estructura de Directorios en Laravel

1.3 Estructura de Directorios de Laravel

La estructura de directorios de Laravel está diseñada para una organización clara y eficiente:

  • app/: Contiene el código central de la aplicación
    • Http/: Controladores, Middleware, Requests
    • Models/: Modelos Eloquent
    • Providers/: Service Providers
  • config/: Archivos de configuración
    • app.php: Configuración general de la aplicación
    • database.php: Configuración de la base de datos
  • database/:
    • migrations/: Archivos de migración de base de datos
    • seeders/: Clases para poblar la base de datos
  • public/: Punto de entrada y assets públicos
    • index.php: Archivo de entrada principal
  • resources/:
    • views/: Archivos de vistas Blade
    • lang/: Archivos de traducción
  • routes/:
    • web.php: Rutas para la interfaz web
    • api.php: Rutas para API
  • storage/: Archivos generados por la aplicación
    • logs/: Archivos de registro
  • tests/: Tests automatizados

Ejemplo de estructura de un controlador en app/Http/Controllers/UserController.php:

<?php

namespace App\Http\Controllers;

use App\Models\User;

class UserController extends Controller

{

    public function index()

    {

        $users = User::all();

        return view('users.index', compact('users'));

    }

}

Ejemplo de un modelo en app/Models/User.php:

<?php

namespace App\Models;

use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable

{

    protected $fillable = ['name', 'email', 'password'];

}

Esta estructura facilita la organización del código y sigue el principio de "convención sobre configuración" de Laravel.

Publicar un comentario

0 Comentarios