Aktywne Wpisy
robertx +506
GdzieJestBanan +50
Pytanie głównie do #rozowepaski, bo opinia niebieskich będzie pewnie jednoznaczna.
Czemu dziewczyny robią sobie taką krzywdę?
Ja rozumiem, że ktoś ma małe, wąskie, krzywe, czy cholera wie jakie usta i chce je poprawić - medycyna daje wam takie możliwości, tak samo jak facetom przeszczep włosów na zakola. Nie ma w tym nic złego. Ale dlaczego iść ze skrajności w skrajność? Bo to już nie jest kwestia gustu, że mi się nie
Czemu dziewczyny robią sobie taką krzywdę?
Ja rozumiem, że ktoś ma małe, wąskie, krzywe, czy cholera wie jakie usta i chce je poprawić - medycyna daje wam takie możliwości, tak samo jak facetom przeszczep włosów na zakola. Nie ma w tym nic złego. Ale dlaczego iść ze skrajności w skrajność? Bo to już nie jest kwestia gustu, że mi się nie
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.