Entrada

Fundamentos de Laravel: Artisan, rutas, controladores y más

Fundamentos de Laravel: Artisan, rutas, controladores y más

🧠 Conceptos Fundamentales de Laravel

📦 ¿Qué es Laravel?

Laravel es un framework de PHP basado en el patrón MVC (Modelo-Vista-Controlador). Permite desarrollar aplicaciones web de forma rápida, organizada y segura.


⚙️ Artisan – La terminal de Laravel

Artisan es la CLI (Command Line Interface) de Laravel.

Comandos clave:

1
2
3
4
5
6
7
php artisan list                       # Ver todos los comandos  
php artisan serve                      # Levanta el servidor local  
php artisan make:controller Nombre     # Crea un controlador  
php artisan make:model Nombre          # Crea un modelo  
php artisan make:migration nombre      # Crea una migración  
php artisan migrate                    # Ejecuta migraciones  
php artisan route:list                 # Lista las rutas registradas  

🌐 Rutas en Laravel

Las rutas se definen en routes/web.php.

1
2
3
4
5
6
7
8
use Illuminate\Support\Facades\Route;

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


Route::get('/saludo', [SaludoController::class, 'index']);

Tipos de rutas:

  • get() → para mostrar
  • post() → para guardar
  • put() o patch() → para actualizar
  • delete() → para eliminar

🧠 Controladores

Se ubican en app/Http/Controllers.

1
2
3
4
5
6
7
8
9
10
11
php artisan make:controller UsuarioController

class UsuarioController extends Controller {
    public function index() {
        return view('usuarios.index');
    }

    public function show($id) {
        return "Usuario $id";
    }
}

📄 Vistas (Blade)

Blade es el motor de plantillas de Laravel.

Ubicación: resources/views

1
2
3
4
5
6
7
8
// resources/views/hola.blade.php  

<h1>Hola, {{ $nombre }}</h1>


En el controlador:

return view('hola', ['nombre' => 'Andrés']);

🗃️ Modelos

Representan tablas de base de datos. Se ubican en app/Models.

1
2
3
4
5
6
7
php artisan make:model Usuario

Laravel mapea automáticamente la tabla 'usuarios' al modelo Usuario.

class Usuario extends Model {
    protected $table = 'usuarios';
}

🔧 Migraciones

Permiten definir y versionar la estructura de la base de datos.

1
2
3
4
5
6
7
8
9
10
php artisan make:migration create_usuarios_table  
php artisan migrate

Ejemplo:

Schema::create('usuarios', function (Blueprint $table) {
    $table->id();
    $table->string('nombre');
    $table->timestamps();
});

🔁 Típica lógica CRUD (MVC)

  1. Ruta → Manda la solicitud al…
  2. Controlador → Ejecuta lógica y llama al…
  3. Modelo → Accede a la base de datos, y luego…
  4. Vista → Muestra los resultados

📌 Ejemplo básico: mostrar lista de usuarios

1. Ruta:

1
Route::get('/usuarios', [UsuarioController::class, 'index']);

2. Controlador:

1
2
3
4
5
6
7
8
use App\Models\Usuario;

class UsuarioController extends Controller {
    public function index() {
        $usuarios = Usuario::all();
        return view('usuarios.index', compact('usuarios'));
    }
}

3. Vista (resources/views/usuarios/index.blade.php):

1
2
3
4
5
@foreach($usuarios as $usuario)
    <p>{{ $usuario->nombre }}</p>
@endforeach


📚 Cosas importantes para dominar

🧠 Conceptos PHP que debés saber:

  • Clases, métodos y propiedades
  • Namespaces (use)
  • Arrays y foreach
  • Funciones, condicionales (if, switch, isset, etc.)
  • Herencia y constructores
  • Uso de Composer (composer install, composer dump-autoload)

🧩 Extras útiles

Middleware

Permite verificar si el usuario está autenticado antes de acceder a una ruta.

Request

Clase que gestiona los datos enviados por formularios, como request()->input(‘nombre’).


🧪 Práctica recomendada

  1. Crear un CRUD de clientes con migración, modelo, controlador y vistas Blade
  2. Usar Artisan en todo momento
  3. Jugar con rutas dinámicas (/cliente/{id})
  4. Usar base de datos SQLite o MySQL local
  5. Implementar validaciones con request()->validate()

Andrés Nuñez - t4ifi

Esta entrada está licenciada bajo CC BY 4.0 por el autor.