لاراول۶: صفحه خطا جدید، ایگنیشن

خب لاراول نسخه ۶ هم چند وقت دیگه از راه میرسه و یکی از تغییراتی که خواهد کرد صفحه ارور یا همون خطاهاست.

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

آنچه گذشت

یه مروری داشته باشیم روی آنچه برای خطا در پی اچ پی و بعدها در لاراول میگرفتیم.

صفحه خطا پیش‌فرض پی‌اچ‌پی یه صفحه ساده ست با یک پیام خطا و بدون استک‌تریس یا مشخصات ریکوئست.

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

از یه جایی به بعد به لاراول ووپس(whoops) اضافه شد. ووپس علاوه بر خطا و استک‌تریس، کد محل خطا رو هم نشون می‌داد و این کمک بزرگی بود. ووپس همچنین یه کار ریز قشنگ کرده بود و اونم میانبر برای جستجو خطا در گوگل یا استک‌اورفلو بود.

و اما

ایگنیشن (Ignition)

قراره صفحه دیفالت برای خطاها در لاراول ۶ ایگنیشن باشه که توسط Freek Van der Herten و Marcel Pociot توسعه داده شده و هر دو عزیز تا الان تعداد زیادی پکیج برای لاراول توسعه دادن و احتمالا ازشون استفاده کردین.

تمرکز ایگنیشن که تو تصویر میبینید روی رسوندن پیغام سریع و البته راه حل خواهد بود. بریم ویژگی هاش رو مرور کنیم.

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

ایگنیشن کلی ویژگی باحال داره. مثلا اگر روی مداد کنار آدرس فایل کلیک کنین فایل رو براتون باز می‌کنه، یا مثلا اگر رو پروژه‌تون لاراول تلسکوپ رو نصب کرده باشین سمت راست بالا لینک تلسکوپ رو می‌ذاره که بتونین همین ریکوئست رو تو تلسکوپ هم ببینید.

برای دارک دوستان ایگنیشن از دارک مود هم ساپورت می کنه.

تب ها در ایگنیشن

ایگنیشن بخش های مختلفی داره که هر کدوم تو تپ های خودشون نشون دادن میشن.

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

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

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

روت - روت پارامتر- کنترلر - ویو

در تب بعدی مشخصات کاربر هست که اگر با دیباگ‌بار کار کرده باشید چیز جدیدی نیست و کاربردش رو میدونین.

تب کانتکس درباره ریپو تون بهتون اطلاعات میده که دقیقا از کاربردش مطمئن نیستم. اگر کسی میدونه کمک کنه.

و در نهایت تب دیباگ که لاگ ها و دامپ ها رو نشون میده.

راه‌حل ها

شاید تا الان ایگنیشن اتفاق جدیدی نباشه اما هنوز راه‌حل هاشو ندیدین.

ایگنیشن می‌تونه به شما برای تعدادی از موقعیت‌ها، علاوه نمایش خطا راه حل هم بده مثلا:

حتی ایگنیشن این امکان رو فراهم کرده که خودتون بتونین راه حل برای خطاهاتون اضافه کنین که کاربردش تو پروژه های تیمی یا توسعه پکیج هست.

ایگنیشن همینجا متوقف نشده و در برخی از مواقع علاوه بر خطا و راه‌حل حتی راه حل رو اجرا می کنه:

ایگنیشن در نهایت برگ برنده دیگه‌ای رو می‌کنه اون اینکه شما می تونین بهش پکیج های دیگه‌ای اضافه کنین و قدرتمندترش کنید. مثلا ادیتور که همونجا تو صفحه خطا بتونین کدتون رو ادیت کنین (!) یا تینکر که بتونین تو صفحه خطا لاراول تینکر رو اجرا کنین.

دوس داشتم که امکانات ایگنیشن به همینجا محدود بشه اما ایگنیشن یه امکان دیگه هم داره و اون به اشتراک گذاشتن خطاست که به شدت توی توسعه تیمی نیازه.

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

https://flareapp.io/docs/ignition-for-laravel/introduction


نظر شما درباره ایگنیشن چیه؟ خیلی کاربردی و مفیده یا خیلی شلوغه و گیج کننده؟