# Moduły

# Generowanie modułu

Generowanie plików modułu:

php artisan mb:generate <ModuleName>

Generowanie plików modułu drugorzędnego (Wewnątrz istniejącego modułu)

php artisan mb:generate <ModuleName> <ModelName>

# Generowanie modelu

php artisan mb:make-model <ModuleName> <ModelName>

# Dodatkowe opcje generatora modelu

Komenda tworzenia modelu posiada opcje, dzięki którym wygenerowane zostaną pliki zależności:

  • -m, --migration → tworzy migrację dla modelu
  • -c, --controller → tworzy kontroler dla modelu
  • -r, --repository → tworzy repozytorium dla modelu
  • -t, --resource → tworzy zasób (transformer/resource) dla modelu
  • --request → tworzy pliki do obsługi walidacji tworzenia i aktualizacji modelu
  • --translatable → tworzy model językowy (dodatkowo tworzy model tłumaczenia oraz opcjonalnie jego migrację w zależności od flagi -m, --migration)
  • --policy → tworzy plik z polityką dostępności do modelu
  • --routes → tworzy plik ze zdefiniowanymi endpointami CRUD dla modelu

# Poszczególne opcje wywołują konkretne komendy artisana na podstawie modelu:

opcja wywołana komenda
-m, --migration php artisan mb:make-migration
-c, --controller php artisan mb:make-controller
-r, --repository php artisan mb:make-repository-interface

php artisan mb:make-repository
-t, --resource php artisan mb:make-resource
--request php artisan mb:make-request
--translatable php artisan mb:make-model-translation
--policy php artisan mb:make-policy
--routes php artisan mb:make-routes

# Laravel Modules

Core korzysta z pakietu nwidart/laravel-modules (opens new window), który pozwala wygenerować pliki niezależnie od modelu (Generator commands) oraz zarządzać modułami (Utility commands).

Więcej o komendach pakietu (opens new window)

# Instalacja modułów

Uwaga

Instalowany moduł w pierwszej kolejności usuwa istniejący moduł o podanej nazwie.

Moduły, które posiadają dedykowane repozytoria gita (na ogół znajdują się w projekcie Core (opens new window)), mogą zostać zainstalowane w projekcie za pomocą komendy:

php artisan mb:install-module {module} {version}

Parametr module jest nazwą modułu w formacie kebab, np. content-builder. Natomiast version może być nazwą gałęzi (branch) gita, tagiem.

php artisan mb:install-module content-builder main

Moduł zostanie zainstalowany w katalogu Modules.

Następnie należy włączyć moduł korzystając z komendy:

php artisan module:enable ContentBuilder

Zainstalowany moduł może wymagać aktualizacji uprawnień, należy wtedy użyć komendy:

php artisan mb:update-permissions