Laravel Telescope PHP: دليل شامل مع أمثلة عملية

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

Laravel Telescope: أداة تصحيح أخطاء أنيقة لتطبيقات PHP

1. ما هو Laravel Telescope ولماذا تحتاجه؟

Laravel Telescope هي أداة قوية لتصحيح الأخطاء ومراقبة تطبيقات Laravel، طورتها فريق Laravel. تمنح المطورين "نظرة فاحصة" على ما يحدث داخل التطبيق: من الطلبات الواردة واستعلامات SQL إلى مهام قائمة الانتظار والاستثناءات والسجلات. يعمل Telescope كلوحة تحكم تجمع وتعرض جميع بيانات القياس عن بُعد في الوقت الفعلي.

لماذا تحتاج إليه؟ في تطوير الويب الحديث، أصبحت التطبيقات أكثر تعقيدًا: تُستخدم قوائم الانتظار، والتخزين المؤقت، وواجهات API الخارجية، واستعلامات SQL المعقدة. بدون أداة مثل Telescope، يضطر المطور إلى إضافة dd() أو Log::debug() يدويًا في الكود، مما يبطئ التطوير ولا يعطي صورة كاملة. يقوم Telescope تلقائيًا بجمع بيانات كل طلب، مع إظهار وقت التنفيذ، وعدد استعلامات قاعدة البيانات، والذاكرة المستخدمة، وغير ذلك الكثير. هذا يحول عملية التصحيح من تخمين إلى علم دقيق.

الميزة الرئيسية لـ Telescope هي عدم تدخله. فهو يعمل "مباشرة من العلبة" ولا يتطلب تغيير كود التطبيق. تُخزَّن البيانات في قاعدة بيانات (MySQL أو SQLite افتراضيًا)، مما يسمح بتحليل تاريخ الطلبات. Telescope مفيد بشكل خاص عند تطوير API، والعمل مع قوائم الانتظار، وتصحيح أخطاء الصفحات البطيئة.

2. التثبيت

يتم تثبيت Laravel Telescope عبر Composer، مدير الحزم القياسي لـ PHP. نفّذ الأمر التالي في جذر مشروع Laravel الخاص بك:

composer require laravel/telescope --dev

العلامة --dev مهمة: Telescope مخصص للتطوير المحلي فقط ولا يجب تثبيته على خوادم الإنتاج. بعد تثبيت الحزمة، يجب نشر الأصول (CSS/JS) والإعدادات:

php artisan telescope:install

سينشئ هذا الأمر ملف الإعدادات config/telescope.php وملف الترحيل (migration) لقاعدة البيانات. ثم نفّذ الترحيل لإنشاء الجداول اللازمة لتخزين بيانات Telescope:

php artisan migrate

بعد ذلك، سيكون Telescope متاحًا على الرابط /telescope في تطبيقك. إذا كنت تستخدم Laravel Sail (Docker)، فلا تنسَ إعادة تشغيل الحاويات.

3. بداية سريعة — مثال عملي بسيط

بعد التثبيت، يبدأ Telescope تلقائيًا في جمع البيانات. لست بحاجة لكتابة أي كود إضافي. فقط افتح المتصفح وانتقل إلى الرابط http://your-app.test/telescope.

سترى لوحة تحكم تحتوي على علامات تبويب: Requests، Commands، Schedule، Jobs، Exceptions، Logs، Dumps، Queries، Models، Mail، Notifications، Cache، Events، Gates.

للتأكد من أن كل شيء يعمل، نفّذ طلبًا بسيطًا لأي مسار في تطبيقك. على سبيل المثال، افتح الصفحة الرئيسية. ثم انتقل إلى Telescope واختر علامة التبويب Requests. سترى سجلًا لطلبك مع التفاصيل: الطريقة، URI، الحالة، المدة، عدد استعلامات SQL، إلخ.

إليك مثال لكيفية إضافة بيانات يدويًا إلى Telescope لتصحيح الأخطاء:

<?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 سيسجل هذا الطلب تلقائيًا                    

توصيات