Laravel Telescope: El depurador elegante para aplicaciones PHP
1. ¿Qué es Laravel Telescope y por qué lo necesitas?
Laravel Telescope es una potente herramienta de depuración y monitoreo para aplicaciones Laravel, creada por el equipo de Laravel. Ofrece a los desarrolladores una "vista de inspector" de lo que sucede dentro de la aplicación: desde solicitudes entrantes y consultas SQL hasta trabajos en cola, excepciones y registros. Telescope funciona como un panel de control que recopila y muestra toda la telemetría en tiempo real.
¿Por qué es necesario? En el desarrollo web moderno, las aplicaciones son cada vez más complejas: se usan colas, caché, APIs externas y consultas SQL avanzadas. Sin una herramienta como Telescope, el desarrollador tiene que agregar manualmente dd() o Log::debug() en el código, lo que ralentiza el desarrollo y no ofrece una visión completa. Telescope recopila automáticamente datos de cada solicitud, mostrando el tiempo de ejecución, la cantidad de consultas a la base de datos, la memoria utilizada y mucho más. Esto convierte la depuración de una adivinanza en una ciencia exacta.
La ventaja clave de Telescope es su naturaleza no intrusiva. Funciona "de fábrica" y no requiere modificar el código de la aplicación. Los datos se almacenan en una base de datos (MySQL o SQLite por defecto), lo que permite analizar el historial de solicitudes. Telescope es especialmente útil al desarrollar APIs, trabajar con colas y depurar páginas lentas.
2. Instalación
La instalación de Laravel Telescope se realiza a través de Composer, el gestor de paquetes estándar para PHP. Ejecuta el siguiente comando en la raíz de tu proyecto Laravel:
composer require laravel/telescope --dev
La bandera --dev es importante: Telescope está diseñado solo para desarrollo local y no debe instalarse en servidores de producción. Después de instalar el paquete, debes publicar los assets (CSS/JS) y la configuración:
php artisan telescope:install
Este comando crea el archivo de configuración config/telescope.php y la migración de la base de datos. Luego, ejecuta la migración para crear las tablas donde Telescope almacenará los datos:
php artisan migrate
Después de esto, Telescope estará disponible en la ruta /telescope de tu aplicación. Si usas Laravel Sail (Docker), no olvides reiniciar los contenedores.
3. Inicio rápido — ejemplo mínimo funcional
Una vez instalado, Telescope comienza a recopilar datos automáticamente. No necesitas escribir ningún código adicional. Simplemente abre el navegador y ve a http://tu-app.test/telescope.
Verás un panel con pestañas: Requests, Commands, Schedule, Jobs, Exceptions, Logs, Dumps, Queries, Models, Mail, Notifications, Cache, Events, Gates.
Para comprobar que todo funciona, haz una solicitud simple a cualquier ruta de tu aplicación. Por ejemplo, abre la página principal. Luego, ve a Telescope y selecciona la pestaña Requests. Verás un registro de tu solicitud con detalles: método, URI, estado, duración, cantidad de consultas SQL, etc.
Aquí tienes un ejemplo de cómo agregar datos manualmente a Telescope para depuración:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\User;
use Laravel\Telescope\Telescope;
class UserController extends Controller
{
public function show($id)
{
// Telescope registrará esta solicitud automáticamente