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)
- Ruta → Manda la solicitud al…
- Controlador → Ejecuta lógica y llama al…
- Modelo → Accede a la base de datos, y luego…
- 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
- Crear un CRUD de clientes con migración, modelo, controlador y vistas Blade
- Usar Artisan en todo momento
- Jugar con rutas dinámicas (/cliente/{id})
- Usar base de datos SQLite o MySQL local
- Implementar validaciones con request()->validate()
Andrés Nuñez - t4ifi
Esta entrada está licenciada bajo CC BY 4.0 por el autor.