Download the PHP package bwiechnik/domy-house-base without Composer
On this page you can find all versions of the php package bwiechnik/domy-house-base. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download bwiechnik/domy-house-base
More information about bwiechnik/domy-house-base
Files in bwiechnik/domy-house-base
Package domy-house-base
Short Description Base methods for Laminas framework
License MIT
Informations about the package domy-house-base
Base.laminas
Podstawowe klasy i metody dla frameworka Laminas (dawniej Zend Framework 3). Dzięki niemu można szybciej wprowadzić niektóre funkcjonalności, takie jak np. sprawdzanie uprawnień czy logowanie z rejestracją.
Instalacja
Najpierw należy dodać nowe repozytorium do pliku composer.json
:
Można to zrobić również przez inny typ - VCS (zalecane):
Teraz należy wywołać komendę do instalacji paczki:
lub w przypadku zalecanej metody wystarczy:
Jeśli jest to konieczne (ponieważ composer wyrzuca błąd):
Could not find a version of package bw/base matching your minimum-stability (stable). Require it with an explicit version constraint allowing its desired stability.
To należy dodać do pliku composer.json
następującą linię:
Inicjalizacja potrzebnych elementów w modułach frameworka
Pliki partiali (widoków)
By można było korzystać z partiali oferowanych przez paczkę Base
w pliku konfiguracyjnym modułu module.config.php
należy dodać:
Wszystkie partiale z Base
korzystają z tej konwencji nazewnictwa, więc bez ich dodania do template_map
mogą nie działać prawidłowo.
Abstrakcyjne fabryki
Abstrakcyjne fabryki są potrzebne do inicjalizacji np. formularzy. W pliku konfiguracji modułu module.config.php
należy dodać:
Dodawanie nowych pluginów widoku
By dodać plugin do widoku należy edytować plik Module.php
i utworzyć metodę (jeśli nie istnieje) jak poniżej:
Teraz w plikach widoku można będzie korzystać z pluginu o nazwie serviceManager, który dodaliśmy powyżej, wywoływanego w poniższy sposób:
Korzystanie z flashMessengera w widoku
By skorzystać z flash messnegera należy utworzyć jego instancję:
By było to możliwe należy dodać jego fabrykę do module.config.php
:
Implementacja AuthMenagera do autoryzacji użytkowników
Najpierw należy napisać własną fabrykę do utworzenia instancji Menagera rozszerzającą \Base\Services\Auth\AuthenticationServiceFactory
. Wspomniana fabryka z Base ustawia wstępnie odpowiednie adaptery, ale należy je rozszerzyć by wstrzyknąć dane specyficzne dla naszej aplikacji, jak nazwa modelu czy warunki where dla wiersza lub dodatkowe akcje do wykonania jeśli wystąpi określony EVENT. Przykładowy kod:
Następnie w pliku konfiguracji modułu module.config.php
należy dodać tę fabrykę by mógł z niej korzystać ServiceManager:
Konieczne jest również dodanie konfiguracji do obsługi sesji, z której korzysta AuthManager. Należy to zrobić w pliku config\autoload\global.php
:
W kontrolerze wystarczy utworzyć instancję Managera i korzystać z gotowych już metod do logowania, rejestracji czy wylogowania. Należy jedynie dopisać odpowiednie formularze.
Implementacja RBAC
Najpierw należy napisać odpowiedniego Managera dla ról pobieranych z bazy danych, który rozszerza tego z Base \Base\Services\Rbac\RbacRolesManager
, odpowiedniego dla naszej aplikacji, tak żeby nie trzeba było dokładnie kopiować struktury bazy danych, tylko można było to określić samemu wedle potrzeb.
Oraz napisać odpowiednią fabrykę, która zwróci RbacManagera z Base, przykładowo:
Teraz wystarczy dodać konfigurację fabryki do module.config.php
:
Oraz dodać sprawdzanie autoryzacji w Module.php
:
Przy braku autoryzacji lub braku dostępu powinno nastąpić odpowiednie przekierowanie.
Dodatkowe informacje
Tworzenie własnej paczki composera: https://symfonycasts.com/screencast/question-answer-day/create-composer-package