مارک پلاس

تکنولوژی نوین اینترنتی

نحوه استفاده از Laravel Telescope برای دیباگ API

دسته‌بندی‌ها

نحوه استفاده از Laravel Telescope برای دیباگ API
Laravel Telescope برای دیباگ API


Laravel Telescope یک ابزار قدرتمند دیباگ برای لاراول است که به شما اجازه می‌دهد تمامی درخواست‌ها، خطاها، لاگ‌ها، درخواست‌های SQL، و بسیاری از اطلاعات دیباگ دیگه رو به‌راحتی مشاهده کنید. این ابزار به خصوص برای دیباگ API‌ها بسیار مفید است، چون شما می‌تونید درخواست‌های API، وضعیت‌ها و پاسخ‌ها رو به صورت کاملاً شفاف مشاهده کنید.


🚀 نصب Laravel Telescope

1. نصب پکیج Telescope:

ابتدا باید پکیج Telescope رو نصب کنید. برای این کار، از دستور زیر استفاده کنید:

bash
composer require laravel/telescope --dev

توجه داشته باشید که Laravel Telescope معمولاً فقط در محیط‌های local یا development استفاده می‌شود، بنابراین پکیج در محیط‌های تولیدی نباید نصب شود.

2. انتشار فایل‌های تنظیمات:

بعد از نصب، باید فایل‌های تنظیمات رو منتشر کنید:

bash
php artisan telescope:install

این دستور فایل‌های مربوط به migration و config رو منتشر می‌کنه.

3. اجرای Migration‌ها:

bash
php artisan migrate

این دستور جدول‌های مورد نیاز Telescope در پایگاه داده رو ایجاد می‌کنه.


⚙️ پیکربندی Telescope

در فایل config/telescope.php می‌تونید تنظیمات مختلف Telescope رو پیکربندی کنید. یکی از نکات مهم اینه که می‌تونید تعیین کنید Telescope در چه محیط‌هایی فعال باشه (مثلاً فقط در محیط local).

php
'enable' => env('TELESCOPE_ENABLED', env('APP_ENV') === 'local'),

🖥 استفاده از Telescope برای دیباگ API

1. دسترسی به داشبورد Telescope:

برای مشاهده گزارش‌ها و اطلاعات دیباگ، می‌تونید به داشبورد Telescope برید:

arduino
http://your-app-domain/telescope

در این داشبورد، شما می‌تونید موارد زیر رو مشاهده کنید:

  • درخواست‌های HTTP و API

  • درخواست‌های SQL

  • فایل‌های لاگ و خطاها

  • داده‌های Cache

  • Job‌ها و Queues

2. دیباگ درخواست‌های API:

زمانی که API شما درخواست‌هایی رو دریافت می‌کنه، Telescope این درخواست‌ها رو ثبت می‌کنه و شما می‌تونید موارد زیر رو مشاهده کنید:

  • اطلاعات درخواست: از جمله URL، هدرها، و پارامترها

  • بدنه درخواست: شامل هر داده‌ای که به API ارسال شده

  • زمان پاسخ‌دهی: مدت زمانی که طول کشیده تا درخواست پردازش بشه

  • کد وضعیت پاسخ: مثل 200، 404، 500 و غیره

3. مشاهده درخواست‌های SQL:

در صورتیکه API شما درخواست‌های SQL به پایگاه داده ارسال می‌کنه، Telescope به صورت خودکار اون‌ها رو ثبت می‌کنه و شما می‌تونید به راحتی تمامی پرس‌و‌جوها (queries) که در طول درخواست‌ها اجرا می‌شن رو مشاهده کنید.

برای مثال، می‌تونید ببینید که کدام query‌ها در پاسخ به درخواست‌های API اجرا شده‌اند و آیا اون‌ها بهینه هستند یا نه.


🧩 ویژگی‌های Telescope برای دیباگ API

  • ثبت درخواست‌ها و پاسخ‌ها: تمامی درخواست‌های HTTP و API به‌طور خودکار ثبت می‌شن.

  • مشاهده لاگ‌ها: شما می‌تونید لاگ‌های مرتبط با درخواست‌های API رو مشاهده کنید.

  • گزارش‌های SQL: درخواست‌های SQL که در طول درخواست‌ها اجرا می‌شن، ثبت می‌شن و شما می‌تونید بررسی کنید که آیا بهینه‌سازی نیاز دارند یا نه.

  • حالت real-time: Telescope به‌صورت real-time به شما امکان مشاهده و پیگیری درخواست‌ها رو می‌ده.

  • پشتیبانی از Queue‌ها و Jobs: اگر API شما از صف‌ها (Queues) استفاده می‌کنه، Telescope امکان مشاهده وضعیت Job‌ها رو هم فراهم می‌کنه.


💬 مشاهده درخواست‌های API در Telescope

برای دیباگ درخواست‌های API، کافیست که به داشبورد Telescope برید و قسمت Requests رو باز کنید. در این بخش شما می‌تونید:

  1. تمامی درخواست‌ها رو بر اساس زمان مشاهده کنید.

  2. جزئیات هر درخواست رو باز کنید و ببینید که چه اطلاعاتی از درخواست ثبت شده است.

  3. اگر درخواست‌هایی به پایگاه داده انجام شده، می‌تونید درخواست‌های SQL مربوطه رو ببینید.


⚡ مثال از استفاده Telescope برای دیباگ یک درخواست API

فرض کنید یک API دارید که برای ثبت کاربر جدید به شکل زیر عمل می‌کنه:

php
Route::post('/register', function (Request $request) { $user = User::create([ 'name' => $request->name, 'email' => $request->email, 'password' => bcrypt($request->password), ]); return response()->json($user, 201); });

زمانی که یک درخواست POST به /register ارسال می‌شود، Telescope تمام اطلاعات مربوط به این درخواست رو ثبت می‌کنه:

  • درخواست HTTP: URL، هدرها، پارامترها

  • درخواست SQL: هر پرس‌و‌جوی SQL که در طول ثبت کاربر اجرا می‌شود.

  • پاسخ: کد وضعیت (مثلاً 201 برای موفقیت) و داده‌های ارسال شده به کاربر.


📋 جمع‌بندی

عملدستور
نصب Telescopecomposer require laravel/telescope --dev
انتشار فایل‌های تنظیماتphp artisan telescope:install
اجرای Migration‌هاphp artisan migrate
مشاهده داشبوردhttp://your-app-domain/telescope
فعال‌سازی Telescope در .envTELESCOPE_ENABLED=true

Telescope یکی از بهترین ابزارها برای دیباگ و مانیتورینگ در لاراول است. اگه خواستی ویژگی‌های بیشتری رو برای دیباگ بررسی کنی یا سوالی داشتی، خوشحال می‌شم کمک کنم! 😎

محتوای مرتبط

پست‌های مرتبط