لاراول ۱۳.۱۶ اومد: دستور تازهی artisan dev
خلاصهٔ کاملتر
تیم لاراول نسخهی ۱۳.۱۶.۰ رو منتشر کرده و به گفتهی پاول ردموند تو لاراولنیوز، ستارهی این نسخه یه دستور تازه به اسم artisan dev هست. این دستور پروسههای محیط توسعه یعنی سرور، کارگر صف، دنبالکردن لاگها و Vite رو همزمان اجرا میکنه؛ یعنی همون کاری که تا حالا اسکریپت composer dev انجام میداد.
فرق اصلیاش اینه که حالا تنظیمات این پروسهها بهجای فایل composer.json میره داخل کد خود اپلیکیشن و از طریق کلاس DevCommands ثبت میشه، معمولاً هم توی یه سرویسپرووایدر. هم میتونی دستور artisan اضافه کنی، هم یه دستور دلخواه شل:
use Illuminate\Foundation\Console\DevCommands;
DevCommands::artisan('reverb:start');
DevCommands::register('stripe listen --forward-to ' . config('app.url'));یه نکتهی جالب هم اینه که DevCommands جلوی پکیجهای داخل پوشهی vendor رو میگیره که خودشون خودکار دستور ثبت نکنن، ولی یه پکیج میتونه هلپری بذاره که تو از کد خودت دستوراش رو ثبت کنی. یه هلپر تازه به اسم NodePackageManager هم اضافه شده که از روی فایلهای lock تشخیص میده پکیجمنیجرت npm هست یا yarn یا pnpm یا bun.
کنار این دستور، چندتا بهبود دیگه هم اومده. متد whenFilledEnum() روی ریکوئستها مقدار ورودی رو مستقیم به یه enum تبدیل میکنه و فقط وقتی کالبک رو صدا میزنه که مقدار پر باشه و به یه کیس معتبر تبدیل بشه؛ مقدار نامعتبر بیسروصدا رد میشه. متد withCookies() هم که قبلاً فقط رو ریدایرکت بود، حالا رو همهی پاسخها از جمله JsonResponse کار میکنه.
برای تست موازی هم یه درایور array برای maintenance mode اضافه شده که مشکلات درایور فایل و mock کردن کش رو موقع اجرای artisan up و down نداره. چیزهای دیگهای مثل پشتیبانی از enum توی broadcastAs() و اضافهشدن anyOf به کامپوننت JsonSchema هم تو این نسخه هست. نویسنده یادآوری کرده که بهتره مستقیم بری سراغ نسخهی ۱۳.۱۶.۱، چون یه فیکس برای ثبت دستور artisan dev داره.
نکات کلیدی:
- دستور artisan dev سرور، صف، لاگ و Vite رو با یه فرمان همزمان بالا میاره
- تنظیمات پروسهها از composer.json منتقل شده به کد اپلیکیشن و کلاس DevCommands
- متد whenFilledEnum() کار با enum تو ریکوئستها رو ساده میکنه
- withCookies() حالا رو همهی پاسخها کار میکنه، نه فقط ریدایرکت
- درایور array برای maintenance mode مخصوص تست موازیه




