روشهای پیشنهادی
Best Practices
برای اینکه بتوانید بیشترین بهره را از معماری ماژولار در Doravel ببرید، رعایت برخی اصول و روشهای پیشنهادی ضروری است. این اصول باعث میشوند کد شما خواناتر و تستپذیرتر و مقیاسپذیرتر باشد.
هر قابلیت در یک ماژول مستقل
هر ماژول باید یک دامنه (Domain) یا قابلیت (Feature) مشخص را مدیریت کند.
- ماژول
User→ مدیریت کاربران - ماژول
Bank→ مدیریت عملیات بانکی - ماژول
Payment→ مدیریت تراکنشها
این باعث میشود توسعه و نگهداری پروژه بسیار سادهتر شود.
استفاده از Service Provider ها
- همیشه کدهای مربوط به ثبت سرویسها، رویدادها، مسیرها و Config را داخل Service Provider ماژول قرار دهید.
مسیرها (Routes) را در ماژول نگه دارید
- مسیرهای وب در
routes/web.php - مسیرهای API در
routes/api/{VERSION}.php
با توجه به موارد بالا، باید هر نوع روت را در فایل مرتبط قرار دهید و از RouteServiceProvider برای بارگذاری آنها استفاده کنید.
هشدار
هیچ مسیری نباید در فایلهای مرکزی لاراول (مثل routes/web.php اصلی پروژه) ثبت شود.
استفاده از Translation (i18n)
- برای متنهای ثابت در View یا Controller از فایلهای ترجمه (
lang/fa/...) استفاده کنید. - هیچ متن ثابت (مثل پیام خطا) نباید مستقیم در کد قرار گیرد.
پایبندی به قراردادهای لاراول
- Modelها در پوشهی
app/Modelsماژول قرار گیرند. - Controllerها در پوشهی
app/Http/Controllersماژول باشند.
نگهداری وابستگیها در سطح ماژول
- اگر یک ماژول به کتابخانه خاصی نیاز دارد (مثلا
guzzlehttp/guzzleبرای API بانکی)، آن را درcomposer.jsonهمان ماژول تعریف کنید.
ماژولهای کوچک بسازید
- از ساخت ماژولهای بیش از حد بزرگ خودداری کنید.
- اگر یک ماژول بیش از حد پیچیده شد، آن را به چند ماژول کوچکتر تقسیم کنید.