پرش به مطلب اصلی

روش‌های پیشنهادی

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 همان ماژول تعریف کنید.

ماژول‌های کوچک بسازید

  • از ساخت ماژول‌های بیش از حد بزرگ خودداری کنید.
  • اگر یک ماژول بیش از حد پیچیده شد، آن را به چند ماژول کوچک‌تر تقسیم کنید.

استفاده از Artisan Commands مخصوص ماژول‌ها

برای ایجاد فایل‌های جدید همیشه از دستورهای Artisan مخصوص ماژول استفاده کنید.

به‌جای این:

php artisan make:controller PostController

از این استفاده کنید:

php artisan module:make-controller PostController Blog

این کار باعث می‌شود فایل در محل درست ایجاد شود.


جمع‌بندی

  • هر قابلیت → یک ماژول مستقل
  • تمامی Route ها، View ها و Config باید داخل ماژول باشند
  • از دستورهای Artisan مخصوص ماژول استفاده کنید
  • ماژول‌ها را کوچک و مستقل طراحی کنید

با رعایت این اصول، پروژه‌ی شما مقیاس‌پذیر، قابل نگهداری و تمیز خواهد بود.