Lección 10 de 45 10 min de lectura

Artisan CLI

Artisan es la interfaz de línea de comandos de Laravel. Te permite generar código, ejecutar migraciones, limpiar caché y mucho más. Dominar Artisan te hará más productivo.

¿Qué es Artisan?

Artisan es una herramienta de línea de comandos incluida en Laravel. Automatiza tareas repetitivas como crear controladores, modelos, migraciones y más. En lugar de crear archivos manualmente, Artisan los genera con la estructura correcta.

Para ver todos los comandos disponibles:

bash
php artisan list

Comandos de generación (make)

Los comandos make: generan archivos con la estructura base. Son los que usarás con más frecuencia:

bash
# Crear un controlador
php artisan make:controller UserController

# Crear un modelo
php artisan make:model Product

# Crear una migración
php artisan make:migration create_products_table

# Crear un middleware
php artisan make:middleware CheckAdmin

# Crear un seeder
php artisan make:seeder UserSeeder

Muchos comandos aceptan opciones adicionales. Por ejemplo, para crear un controlador con todos los métodos CRUD:

bash
# Controlador con métodos resource (index, create, store, show, edit, update, destroy)
php artisan make:controller ProductController --resource

# Modelo con migración y factory
php artisan make:model Product -mf

Obtener ayuda de un comando

Si quieres saber qué opciones tiene un comando, usa --help:

bash
php artisan make:controller --help

Esto muestra todas las opciones disponibles como --resource, --api, --invokable, etc.

Comandos de rutas

Artisan ofrece comandos útiles para inspeccionar las rutas de tu aplicación:

bash
# Ver todas las rutas registradas
php artisan route:list

# Filtrar rutas por nombre
php artisan route:list --name=user

# Filtrar rutas por ruta
php artisan route:list --path=api

Comandos de caché

Laravel usa caché para optimizar el rendimiento. Estos comandos te ayudan a gestionarla:

bash
# Limpiar caché de configuración
php artisan config:clear

# Limpiar caché de rutas
php artisan route:clear

# Limpiar caché de vistas
php artisan view:clear

# Limpiar toda la caché de aplicación
php artisan cache:clear

# Limpiar todo de una vez (útil en desarrollo)
php artisan optimize:clear
¿Cuándo limpiar caché?

Si cambias archivos de configuración (.env, config/) y no ves los cambios reflejados, ejecuta php artisan config:clear.

Tinker: la consola interactiva

Tinker es una consola REPL que te permite interactuar con tu aplicación Laravel en tiempo real. Es perfecto para probar código rápidamente:

bash
php artisan tinker

Dentro de Tinker puedes ejecutar cualquier código PHP:

php
// Probar helpers de Laravel
> now()
=> Illuminate\Support\Carbon @1702500000 {#1234}

// Ver configuración
> config('app.name')
=> "Laravel"

// Probar una ruta
> route('home')
=> "http://localhost/"

Para salir de Tinker, escribe exit o pulsa Ctrl+C.

El servidor de desarrollo

Laravel incluye un servidor de desarrollo integrado:

bash
# Iniciar servidor en http://localhost:8000
php artisan serve

# Especificar puerto
php artisan serve --port=8080

# Especificar host (para acceso en red local)
php artisan serve --host=0.0.0.0

Comandos más usados

Esta es una referencia rápida de los comandos que usarás con más frecuencia:

bash
# Servidor de desarrollo
php artisan serve

# Generación de código
php artisan make:controller NombreController
php artisan make:model Nombre
php artisan make:migration create_tabla_table
php artisan make:middleware NombreMiddleware

# Base de datos
php artisan migrate              # Ejecutar migraciones
php artisan migrate:rollback     # Revertir última migración
php artisan db:seed              # Ejecutar seeders

# Rutas e información
php artisan route:list           # Ver rutas
php artisan about                # Info del proyecto

# Limpieza
php artisan optimize:clear       # Limpiar toda la caché

# Interactivo
php artisan tinker               # Consola REPL

Ejercicios

Ejercicio 1: Crear un controlador resource

Usa --help para ver las opciones de make:controller. Luego crea un controlador ArticleController con todos los métodos CRUD.

Ver solución
# Ver opciones disponibles
php artisan make:controller --help

# Crear controlador con métodos resource
php artisan make:controller ArticleController --resource

# Verifica el archivo creado en app/Http/Controllers/
# Contendrá: index, create, store, show, edit, update, destroy

Ejercicio 2: Inspeccionar rutas

Añade dos rutas en routes/web.php: una GET a /contacto y otra POST a /contacto. Luego usa Artisan para listar solo las rutas que contengan "contacto".

Ver solución
# Primero añade en routes/web.php:
# Route::get('/contacto', fn() => 'Formulario');
# Route::post('/contacto', fn() => 'Enviado');

# Luego lista las rutas filtrando por path
php artisan route:list --path=contacto

Ejercicio 3: Limpiar caché y probar Tinker

Ejecuta el comando para limpiar toda la caché de la aplicación. Luego abre Tinker y usa config('app.name') para ver el nombre de tu aplicación.

Ver solución
# Limpiar toda la caché
php artisan optimize:clear

# Abrir Tinker
php artisan tinker

# Dentro de Tinker:
> config('app.name')
=> "Laravel"

> config('app.env')
=> "local"

# Salir
> exit

Resumen

  • Artisan es la CLI de Laravel que automatiza tareas comunes
  • Los comandos make: generan archivos con la estructura correcta
  • Usa --help para ver las opciones de cualquier comando
  • route:list muestra todas las rutas registradas
  • optimize:clear limpia toda la caché de la aplicación
  • tinker es una consola interactiva para probar código
  • serve inicia un servidor de desarrollo

¿Te está gustando el curso?

Tenemos cursos premium con proyectos reales, soporte personalizado y certificado.

Descubrir cursos premium