Aktywne Wpisy
GrzegorzPpoz +184
#!$%@? rzygam już tym portalem. Od kilku tygodni całe gorące permanentnie #!$%@? waleniem konia do rozliczeń pisowców albo podniecaniem się najpierw chadem kotłownią, a teraz tuskiem. To już nie jest portal ze śmiesznymi obrazkami tylko czysty propagandowy ściek. Dosłownie nie ma się nawet do czego uśmiechnąć na tej smutnej jak #!$%@? stronie. Serio wam się jeszcze nie przejadło czytanie kolejnego wpisu zaczynającego się od "gdyby nie tusk to błe błe błe węgry
adi0 +1059
Mam, załóżmy, dwa moduły - "Application" (frontend) i "Cms" (backend). Załóżmy, że jest jakaś informacja (nazwijmy ją Request), którą tworzy klient, a następnie przetwarza administrator serwisu. W sumie normalna, codzienna sytuacja.
Powiedzmy, że klient może tworzy taki obiekt Request, a administrator listuje wszystkie obiekty Request, jakie w systemie istnieją.
Do obsługi powyższego utworzyłem sobie klasy
\Application\Model\Request
i
\Application\Model\Table\RequestTable
. Problem w tym, że te klasy tak naprawdę nie są częścią tego modułu. Co prawda nic nie stoi na przeszkodzie, żeby je tak używać, ale brak elegancji mnie irytuje.
Pytanie: gdzie umieścić takie klasy, które są używane przez wszystkie moduły? Domyślna struktura katalogów niczego nie sugeruje.
#php #zf2
Ale tak sobie pomyślałem (nie ma to jak zdefiniować problem na piśmie) - w mózgu mam silnie związaną strukturę katalogów z routingiem. To jest zazwyczaj dobre, ale przecież mogę mieć moduły bez kontrolerów - zawierające encje, klasy dostępu do danych itp.
W ten sposób mam zamiar to rozwiązać.
Nie wiem dokładnie z czym masz problem.
W module Cms możesz przecież dać:
use Application\Model\Request
i później
$request = new Request(); // albo new \Application\Model\Request();
Ewentualnie użyć SerivceManagera
'service_manager' => array(
'invokables' => array(
'RequestClass' => 'Application\Model\Request',
)
),
I później w dowolnym module:
$request = $serviceLocator->get('RequestClass');
Dlatego, jak pisałem, drażnił mnie brak elegancji
new \MyLibrary\Model\Request()
Pozwala to zachować pewną separacje i przejrzystość. Wiem że w module znajdują się tylko pliki bezpośrednio powiązane z modułem.