استفاده از ابزار تلسکوپ برای دیباگ کردن در لاراول

24 مهر 1398, خواندن در 5 دقیقه

 در مقالات قبل به انواع روش‌ها و ابزارهای مختلف برای دیباگ کردن و خطایابی در لاراول به طور مختصر پرداخته شد. در مقاله‌ی روش‌های دیباگ کردن که پیش‌تر در سایت راکت منتشر شد به توضیح مختصر ابزار تلسکوپ لاراول و کارکرد آن برای دیباگ کردن پرداختیم. در این مقاله قصد داریم به بررسی دقیق‌تر این ابزار لاراول بپردازیم.

 تلسکوپ لاراول یک ابزار منبع آزاد(اُپن سورس) در لاراول است که برای عملیات دیباگ کردن مورد استفاده قرار می‌گیرد. این ابزار رایگان و منبع آزاد است و شما می‌توانید به سادگی آن را نصب کنید.

تلسکوپ لاراول چیست؟

تلسکوپ یک ابزار دیبا‌گ کردن است که ترکیبی از روش‌های مختلف نظارت بر روی درخواست‌هایی که به اپلیکیشن شما وارد می‌شوند مانند درخواست‌های HTTP  ، درخواست‌های Command-Line ،Scheduler  یا Queue را ارائه می‌دهد.

این ناظران همه اطلاعات در مورد درخواست‌ها مانند جزئیات کوئری های دیتابیس و execution time و خیلی موارد دیگر را دریافت می‌کنند و به صورت مرتب نمایش می‌دهند.

نصب تلسکوپ لاراول 

قبل از نصب تلسکوپ ابتدا شما نیاز دارید که لاراول را نصب کنیم. اگر شما می‌خواهید که یک پروژه جدید در لاراول ایجاد کنید می‌توانید کد زیر را در ترمینال خود وارد کنید و اپلیکیشن لاراولی جدید خود را ایجاد کنید:

composer create-project laravel/laravel Telescope

 برای نصب تلسکوپ کد زیر را در ترمینال خود وارد کنید:

composer require laravel/telescope --dev

شما می‌توانید از تگ --dev برای نصب این پکیج به عنوان وابستگی dev استفاده کنید و یا می‌توانید این پکیج را بدون این تگ نصب کنید.

پس از اینکه تلسکوپ با موفقیت نصب شد، شما می‌توانید با آماده کردن داده‌ها، کانفیگ فایل‌ها و تنظیم دیتابیس به کار خود ادامه دهید.

php artisan telescope:install
php artisan migrate

 کانفیگ کردن تلسکوپ لاراول 

پس از اتمام نصب شما می‌توانید به روت /telescope مراجعه کنید و صفحه تلسکوپ را مشاهده کنید، مانند زیر:

 شما می‌توانید این روت را در فایل config/telescope.php تغییر دهید. این فایل به شما اجازه کانفیگ کردن و تغییر تنظیمات مختلف تلسکوپ را می‌دهد. مهمترین گزینه‌ها در این تنظیمات عبارت اند از:

Path

این گزینه در واقع مسیری در اپلیکیشن شماست که به شما امکان دسترسی به تلسکوپ را می دهد، مقدار پیش‌فرض آن telescope است.

Driver

این مورد محلی که تلسکوپ برای ذخیره داده‌ها استفاده می‌کند را نشان می‌دهد، به صورت پیش‌فرض روی database قرار دارد.

Storage

نشان می‌دهد که از کدام اتصال به دیتابیس استفاده شده است، که به صورت پیش‌فرض از اتصال پیش‌فرض دیتابیس استفاده می‌کند.

Limit

این گزینه تعیین می‌کند که تلسکوپ چه مقدار داده برای هر چیزی که می‌خواهد دیباگ کند ذخیره می‌کند، به صورت پیش‌فرض 100 است.

محدود کردن دسترسی به تلسکوپ

 در محیط لوکال، هر کاربری می‌تواند به تلسکوپ دسترسی داشته باشد. برای تعیین سطح دسترسی و محدود کردن دسترسی به تلسکوپ برای کاربران خاص ما باید به فایل app/Providers/TelescopeServiceProvider.php برویم و تابعgate  را در آن پیدا کنیم:

/**
 * Register the Telescope gate.
 *
 * This gate determines who can access Telescope in non-local environments.
 *
 * @return void
 */
protected function gate()
{
    Gate::define('viewTelescope', function ($user) {
        return in_array($user->email, [
            //
        ]);
    });
}

 در این تابع شما می‌توانید ایمیل کاربرانی که می‌توانند به تلسکوپ دسترسی داشته باشند را اضافه کنید و در واقع لیست کاربران مجاز به استفاده از تلسکوپ را تعریف کنید.

ویژگی‌های تلسکوپ

 تلسکوپ لاراول چندین صفحه‌ی مختلف دارد. در این ابزار شما می‌توانید پردازش تقریباً هر چیزی در اپلیکیشن خود را کنترل کنید. 

من بیش‌تر از برگه‌های زیر برای کنترل اپلیکیشنم استفاده می‌کند:

Requests

این برگه حاوی اطلاعاتی در مورد همه درخواست‌های HTTP است که به اپلیکیشن شما وارد می‌شوند.

Commands

برگه‌ی command همه دستورات اجرا شده و همچنین کد خروجی آن‌ها را نشان می‌دهد. شما می‌توانید به راحتی  arguments، options و  دیگر موارد مربوط به آن دستور را مشاهده کنید.

Exceptions

همه لاگ‌های خطاها را نشان می‌دهد و به شما اجازه می‌دهد که هر کدام را بررسی کنید. این صفحه داده‌هایی مشابه صفحه‌های دیگر مانند hostname, type, request, tags, authenticated user. را نشان می‌دهد.

Logs

صفحه‌ی log ، پیام لاگ اولیه، سطح و زمانی که این لاگ اتفاق افتاده است را به شما نشان می‌دهد.

Queries

لیستی از همه کوئری‌های دیتابیس - مانند ابزار debug bar - نشان‌می‌دهد. مدت زمانی که طول کشیده، مشاهده کامل کوئری، چه درخواست باعث این کوئری شده و موارد دیگر را با ظاهری زیبا و مرتب نمایش می‌دهد.

Models

در این صفحه عملیات‌های ایجاد کردن، ویرایش، حذف ، تغییرات اعمال شده روی دیتابیس و... را می‌توان مشاهده کرد.

Mail

لیستی از همه ایمیل های ارسال شده، کسی که ایمیل را دریافت می‌کند و زمانی که ایمیل ارسال شده است را نشان می‌دهد. همچنین شما می‌توانید موضوع ایمیل، زمانی که ایمیل را ارسال می‌کنید(به صورت تاریخ کامل) و همچنین پیش نمایش ایمیل مانند MailTrap را مشاهده کنید.

Notifications

نمایش همه اعلانات، نوع اعلانات و... .از آنجا که برخی اعلانات پیش نمایش ندارند نشان دادن پیش نمایش امکان پذیر نیست، اما اگر این اعلان از نوع ایمیل باشد شما می‌توانید پیش نمایش آن را ببینیم.

در ابزار تلسکوپ موارد دیگری مانند Schedul ، Jobs ، Dumps، Gates ،  Events، Cache و  Redis وجود دارد. همه‌ی این صفحات اطلاعات زیادی در مورد عملیات‌های مختلف اپلیکیشن شما ارائه می‌دهد که با استفاده از آن ها می‌‌توانید به بهبود عملکرد اپلیکیشن خود بپردازید و عملیات دیباگ کردن را به سادگی انجام دهید.

منبع

چه امتیازی به این مقاله می دید؟
خیلی بد
بد
متوسط
خوب
عالی

دیدگاه‌ها و پرسش‌ها

برای ارسال دیدگاه لازم است، ابتدا وارد سایت شوید.

در حال دریافت نظرات از سرور، لطفا منتظر بمانید

در حال دریافت نظرات از سرور، لطفا منتظر بمانید