# 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-interfacephp 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