تولید ماژول‌ها

هسته اصلی این پکیج، دستور آرتیسان make:module است. این یک ابزار قدرتمند است که می‌تواند یک ماژول کامل و آماده برای تست را با یک دستور واحد تولید کند.

استفاده پایه

برای تولید یک ماژول جدید، فقط کافی است نامی برای آن ارائه دهید:

bash
php artisan make:module ProductName

این دستور یک ماژول ProductName با کامپوننت‌های پیش‌فرض تولید می‌کند که می‌توانید آن‌ها را در فایل config/module-generator.php پیکربندی کنید.

گزینه‌های دستور

دستور make:module با گزینه‌های مختلفی ارائه می‌شود که به شما امکان می‌دهد ماژول تولید شده را بر اساس نیازهای خاص خود سفارشی کنید. در اینجا خلاصه‌ای از گزینه‌های موجود آمده است:

آپشننام مستعارتوضیحات
--api-aیک کنترلر API-oriented تولید می‌کند که فضای نام API پیکربندی شده را هدف قرار می‌دهد.
--controller=Subdir-cکنترلر را در یک زیرپوشه قرار می‌دهد (تولید کنترلر را اجباری می‌کند).
--requests-rدرخواست‌های فرم Store و Update را تولید می‌کند.
--tests-tتولید تست‌های ویژگی CRUD را اجباری می‌کند.
--no-controller-ncاز تولید کنترلر صرف‌نظر می‌کند.
--no-resource-nrاز تولید منابع API صرف‌نظر می‌کند.
--no-dto-ndاز تولید DTO صرف‌نظر می‌کند.
--no-test-ntاز تولید تست‌های ویژگی صرف‌نظر می‌کند.
--no-provider-npاز ایجاد provider و ثبت خودکار آن صرف‌نظر می‌کند.
--swagger-sgحاشیه‌نویسی‌های OpenAPI (@OA) را در داخل App\Docs\{Module}Doc تولید می‌کند.
--no-swaggerحاشیه‌نویسی‌های Swagger را حتی اگر به صورت پیش‌فرض فعال باشند، به صراحت غیرفعال می‌کند.
--from-migration=-fmیک مسیر یا راهنمایی برای مهاجرت برای استنتاج فیلدها و روابط ارائه می‌دهد.
--fields=تعریف شمای درون‌خطی (جدا شده با کاما) برای ماژول‌های بدون مهاجرت.
--force-fفایل‌های موجود را به جای رد کردن، بازنویسی می‌کند.
--actionsاکشن‌ها را برای ماژول تولید می‌کند.
--no-actionsاز تولید اکشن‌ها صرف‌نظر می‌کند.

مثال با گزینه‌ها

در اینجا مثالی از نحوه استفاده از این گزینه‌ها برای تولید یک ماژول سفارشی‌تر آمده است:

bash
php artisan make:module Product --api --requests --tests --swagger

این دستور یک ماژول Product با یک کنترلر API، درخواست‌های فرم، تست‌های ویژگی و مستندات Swagger تولید می‌کند.