Flare حالا کامپوننتهای Livewire رو میبینه
خلاصهٔ کاملتر
تیم Flare میگه خیلی از توسعهدهندههای لاراول با Livewire فرانتاند تعاملی میسازن، ولی وقتی مشکلی پیش میاد دیباگش دردناکه: frameهای stack trace به فایلهای hashشدهٔ کش کامپایل Livewire اشاره میکنن، کامپوننتها تو دل هم تودرتو میشن و تو دیدی نداری کدوم کامپوننت کِی و چقدر داره اجرا میشه. Flare حالا پشتیبانی عمیق از Livewire اضافه کرده.
وقتی trace یه صفحه رو باز میکنی، فقط درخواست HTTP رو نمیبینی؛ هر کامپوننتی که درگیر بوده رو دقیقاً همونجا که اجرا شده تو timeline میبینی. مثلاً یه صفحهٔ task board کل سلسلهمراتب رو نشون میده: TaskBoard مانت میشه، سه تا TaskColumn رو تریگر میکنه و هر کدوم TaskCardهای خودشونو رندر میکنن. کوئریهای دیتابیس هم زیر همون کامپوننتی که اجراشون کرده تودرتو نشون داده میشن. فرقی هم نمیکنه کامپوننتت معمولی باشه، class-only یا تکفایلی.
هر کامپوننت Livewire یه چرخهٔ حیات داره: mount، hydrate، فراخوانی متد، render و dehydrate. به گفتهٔ Flare، هر فاز span و زمان خودشو میگیره، پس فوری میفهمی کامپوننت وقتشو کجا داره میذاره. فراخوانی متدها هم span مخصوص خودشونو دارن؛ مثلاً وقتی کاربر روی یه کارت کلیک میکنه و متد toggleStatus اجرا میشه، اون call با نام متد و پارامترهاش ثبت میشه.
Flare کامپوننتها رو در سطح کل traceها هم aggregate میکنه و یه نمای کلی از میانگین زمان فازها و تعداد traceهایی که توش ظاهر شدن میده، تا اگه یه کامپوننت مدام کند باشه فوری تو چشم بیاد. برای هر کامپوننت هم لینکهای دوطرفه نگه میداره: چه routeها و viewها و کامپوننتهایی ازش استفاده میکنن، و خودش چه کوئریها و viewها و کامپوننتهایی رو صدا میزنه.
برای خطاها، Flare آدرس اصلی که کاربر روش بوده، کامپوننت درگیر، دیتا و state ش و متدی که صدا زده شده رو نشون میده. یه ویژگی مهم اینه که Livewire v4 کامپوننتهای تکفایلی رو معرفی کرده که PHP و template تو یه فایل blade هستن، ولی داخلی به فایلهای PHP با اسم hashشده کامپایل میشن؛ Flare اینها رو به فایل .blade.php اصلی و شمارهٔ خط درست نگاشت میکنه، بدون هیچ تنظیمی. همهٔ اینها با نصب spatie/laravel-flare خودکار فعال میشه و هر دو نسخهٔ v3 و v4 پشتیبانی میشن.
نکات کلیدی:
- هر کامپوننت Livewire با جای دقیقش تو timeline و کوئریهای زیرش تو trace ظاهر میشه
- هر فاز از چرخهٔ حیات span و زمان جدا داره
- stack trace کامپوننتهای تکفایلی به فایل blade اصلی نگاشت میشه
- با نصب spatie/laravel-flare همهچیز خودکار فعاله، v3 و v4 هر دو




