لاراول دیباگبار چیست؟ (به همراه آموزش ویدیویی?) (Laravel debugbar)

سلام امیدوارم حالتون خوب باشه، میتونید محتوایی که داخل این مقاله وجود داره رو به صورت ویدیویی هم ببینید، فقط کافیه روی این لینک کیلیک کنید.??

پکیج Laravel debugbar ابزاری هست که از پکیج PHP debugbar استفاده کرده برای محیط Laravel، شما با استفاده از این پکیج میتونید راحت تر نرم افزارتون رو آنالیز کنید و متوجه باگ های نرم افزارتون بشید.

روش نصب پکیج Laravel debugbar

شما میتونید با استفاده از کامپوزر خیلی راحت این پکیج رو نصب کنید، با استفاده از دستور زیر: (راستی من یه مقاله راجب کامپوزر هم نوشتم که به صورت کامل همه چیز رو باهم برسی کردیم، حتما اون رو هم بخون?)

composer require barryvdh/laravel-debugbar --dev

دستور --dev که گذاشتیم برای اینه که به کامپوزر بگیم این پکیج رو فقط برای محیط development برای ما نصب کن، چون میاد یکسری اطلاعات از نرم افزار ما جمع آوری میکنه، ممکنه توی محیط Production نرم افزار رو کند کنه و توصیه نمیشه تو محیط Production ازش استفاده بشه.


اگر از auto-discovery که به صورت پیشفرض روی لاراول وجود داره استفاده میکنید فقط کافیه که وارد config\app.php بشید و مقدار APP_DEBUG رو برابر true قرار بدید.

اگر هم از auto-discovery استفاده نمیکنید که باید کد زیر را:

Barryvdh\Debugbar\ServiceProvider::class,

در بخش ServiceProvider توی آرایه Provider در فایل config/app.php قرار بدید و اگر هم میخواید از facade برای log گرفتن مسیج ها استفاده کنید، کد زیر رو

'Debugbar' => Barryvdh\Debugbar\Facades\Debugbar::class,

به بخش facades در app.php اضافه کنید.

اگر مراحل بالارو بدون هیچ مشکلی انجام داده باشید، الان پکیج روی پروژتون نصب شده و میتونید ازش استفاده کنید.




Messages tab

به تصویر بالا توجه کنید، وقتی پکیج روی پروژتون نصب باشه یک آیکون لاراول پایین سمت چپ مرورگرتون پدیدار میشه، که اگر روش کلیک کنید یک پنجره مثل عکس باز میشه که شامل تعدادی Tab هست که تب اول تب Messages یا همون پیام ها هستش، توی این تب شما میتونید از اطلاعاتتون با یک استایل مشخص Dump بگیرید یه چیزی مثل Console مرورگر هست با یکسری استایل.

با استفاده از متد های زیر شما میتونید اطلاعاتتون رو توی این تب نمایش بدید:

Debugbar::info($object);
Debugbar::error('Error!');
Debugbar::warning('Watch out…');
Debugbar::addMessage('Another message', 'mylabel');


Timeline tab

شما با استفاده از این تب میتونید ببینید که هر درخواست چقدر طول کشیده تا انجام بشه، همچنین میتونید متوجه بشید کل نرم افزارتون چقدر زمان برده تا اجرا بشه در حقیقت Boot بشه.

متد های زیر برای این تب تعریف شده اند:

Debugbar::startMeasure('render','Time for rendering');
Debugbar::stopMeasure('render');
Debugbar::addMeasure('now', LARAVEL_START, microtime(true));
Debugbar::measure('My long operation', function() {
    // Do something…
});


Exceptions tab

توی این تب، Exception های نرم افزارتون رو نمایش میده، به شکل زیر توجه کنید:

متد Exception این که کجا Throw شده تکه کدی که Exception داشته و یک آرایه از اطلاعاتش رو براتون نمایش میده، که شما با تکه کد زیر میتونید Exception هاتون رو به این صورت داشته باشید، البته که اگر از کد زیر هم استفاده نکنید باز هم این اطلاعات رو میده، ولی نرم افزارتون رو متوقف میکنه.

try {
               throw new \Exception(&quotاین متد Exception است.&quot);
} catch (\Exception $e) {
                Debugbar::addException($e);
}


Views tab

توی این تب تمام View ها یا تمپلیت (Template) هایی که به واسطه Route کنونی لود شده رو نمایش میده و اگر روی هر کدوم کلیک کنید، پارامتر هایی که این ویو دریافت کرده رو هم بهتون میگه، به تصویر زیر توجه کنید:

پارامتر این ویو orders هست که اگر تصویر زیر رو ببینید متوجه خواهید شد:

Route tab

این تب تمام اطلاعات مربوط به Current Route یا روت کنونی رو براتون نمایش میده به تصویر زیر توجه کنید:

Queries tab

این تب تمام کوئری هایی که به واسطه روت کنونی زده شده رو براتون نمایش میده به صورت SQL و حتی زمان اجرا و فایلی که اجرا شده رو هم بهتون میگه، به تصویر زیر توجه کنید:

Models tab

تمام مدل هایی که توی کنترلر مربوط به این Route ازشون استفاده شده رو نمایش میده.


Sessions tab

همونطور که از اسمش مشخصه تمام سشن های که ست شده رو نمایش میده.

Request tab

تمام اطلاعات مربوط به ریکوئست کنونی رو نمایش میده:


سمت راست پنجره رو اگر نگاه کنید یک سری اطلاعات میبینید:

ریکوئست متد و روتی که بهش ریکوئست زده شده، میزان فضایی که از مموری اشغال شده، میزان زمانی که طول کشیده تا اجرا بشه و نسخه PHP و آیکون فولدر هم مربوط به previous endpoint request یا همون روت هایی که قبلا بهش ریکوئست زده شده که میتونید مرتبشون هم بکنید، یا کلا همشون رو پاک کنید.



https://www.aparat.com/v/9lrwx


خیلی ممنونم ازتون که وقت گذاشتید و تا اینجا مطالعه کردیدید??
ممنون میشم نظرتون رو توی بخش کامنت ها بنویسید و این مقاله رو لایک کنید، لایک کردن شما باعث بیشتر دیده شدن این مقاله میشه و به من انگیزه میده، اگر دوست داشتید باهم گپ بزنیم میتونید از راه های ارتباطی زیر با من در ارتباط باشید:
ایمیل | لینکدین