إتقان Laravel Telescope: أداتك النهائية للتصحيح والرؤى
Laravel Telescope هو مساعد تصحيح أخطاء أنيق لإطار عمل Laravel. يوفر رؤى لا تقدر بثمن حول الطلبات الواردة إلى تطبيقك، الاستثناءات، إدخالات السجل، استعلامات قاعدة البيانات، المهام المجدولة في قائمة الانتظار، البريد، الإشعارات، عمليات التخزين المؤقت، المهام المجدولة، تفريغات المتغيرات، والمزيد. تبسط هذه الأداة القوية عملية التصحيح وتساعدك على فهم آليات عمل تطبيق Laravel الخاص بك بسهولة.
في هذا الدرس التعليمي، سنتناول عملية تثبيت Laravel Telescope وتكوينه واستخدامه بفعالية لتسريع سير عمل التطوير لديك.
1. التثبيت #
تثبيت Laravel Telescope أمر مباشر. يوصى بتثبيت Telescope كاعتماد تطوير، حيث يستخدم بشكل أساسي أثناء تطوير التطبيق وتصحيح الأخطاء المحلية.
افتح محطتك الطرفية وقم بتشغيل أمر Composer التالي:
composer require laravel/telescope --dev
بعد تثبيت الحزمة، قم بنشر أصول Telescope وتشغيل ترحيلات قاعدة البيانات:
bash
php artisan telescope:install
php artisan migrate
سيقوم الأمر telescope:install بنشر ملف تكوين telescope.php إلى دليل config الخاص بك. سيقوم الأمر migrate بإنشاء الجداول الضرورية في قاعدة بياناتك لتخزين سجلات Telescope.
إذا كنت ترغب في تثبيت Telescope حتى في بيئة الإنتاج (مما يتطلب دراسة متأنية للأمان والأداء)، يمكنك حذف علامة --dev أثناء التثبيت. ومع ذلك، تأكد من فهم الآثار المترتبة قبل القيام بذلك.
2. التكوين #
يتم إدارة تكوين Laravel Telescope من خلال ملف config/telescope.php، الذي تم نشره أثناء التثبيت. فيما يلي بعض جوانب التكوين الرئيسية:
تمكين/تعطيل Telescope #
بشكل افتراضي، يتم تمكين Telescope عندما يكون APP_ENV هو local. يمكنك التحكم في تنشيطه باستخدام متغير البيئة TELESCOPE_ENABLED في ملف .env الخاص بك:
TELESCOPE_ENABLED=true
من الممارسات الجيدة تعيين هذا إلى false في بيئات الإنتاج أو تمكينه فقط في ظروف محددة ومراقبة بدقة.
التفويض #
في البيئات غير المحلية، يجب عليك تفويض من يمكنه الوصول إلى لوحة تحكم Telescope. يتم ذلك عن طريق تعديل طريقة gate داخل App\Providers\TelescopeServiceProvider.
بشكل افتراضي، يحتوي TelescopeServiceProvider على طريقة gate تقيد الوصول إلى البيئات المحلية:
protected function gate()
{
Gate::define('viewTelescope', function ($user) {
return in_array($user->email, [
// '[email protected]',
]);
});
}
يمكنك تخصيص هذه البوابة للسماح لمستخدمين محددين (مثل عن طريق المعرف، الدور، أو البريد الإلكتروني) بمشاهدة Telescope في الإنتاج. على سبيل المثال:
use App\Models\User;
use Illuminate\Support\Facades\Gate;
protected function gate()
{
Gate::define('viewTelescope', function ($user) {
return $user->isAdmin(); // بافتراض أن لديك طريقة isAdmin()
});
}
أو، للتقييد بواسطة عنوان IP (مفيد للشبكات الداخلية):
protected function gate()
{
Gate::define('viewTelescope', function ($user) {
return in_array(request()->ip(), [
'127.0.0.1',
'192.168.1.1',
]);
});
}
Watchers (المراقبون) #
يسجل Telescope أنواعًا مختلفة من البيانات باستخدام