Właśnie przeczytałem samouczek Rob Aena z Roberta Allena (http://akrabat.com/wp-content/uploads/Getting-Started-with-Zend-Framework-2.pdf) o tym, jak wstrzykiwać zależności do twoich rzeczy, np. Wstrzykiwanie do adaptera tabeli do twoich klas stołowych.Zend Framework 2 - DI i konieczności wstrzykiwania adaptera tabeli do tabel ... nużące?
To wydaje się być jak mam to zrobić:
array(
'Application\Model\DbTable\UserTable',
) => array(
'parameters' => array(
'config' => 'Zend\Db\Adapter\PdoMysql',
)
),
array(
'Application\Model\DbTable\UserProfileTable',
) => array(
'parameters' => array(
'config' => 'Zend\Db\Adapter\PdoMysql',
)
),
Ok to całkiem fajne, ale mam około 84 stolików, więc będę musiał dodać każdy z nich i powiedzieć, że Chcę PdoMySQL wstrzykiwania do nich wszystkich. Czy jest jakiś właściwy sposób to zrobić, takie jak określenie mojego całego folderu DbTable? Nawet to nie działa:
array(
'Application\Model\DbTable\UserTable',
'Application\Model\DbTable\UserProfileTable'
) => array(
'parameters' => array(
'config' => 'Zend\Db\Adapter\PdoMysql',
)
),
Ktoś jeszcze to zrobił i znalazł lepsze rozwiązanie?
Dzięki, Dom
Patrząc tylko na to, gdzie zdefiniowałeś tablice (i użyłeś tablic dla kluczy), odniosłem wrażenie, że klucze tablicy mogą być tylko ciągami lub liczbami całkowitymi w PHP. Czy ktoś może mnie poprawić, jeśli to jest złe? – bearver
Ma sens: D Próbowałem spojrzeć na wstrzykiwanie adaptera DB bezpośrednio do AbstractTable, ale jest to klasa abstrakcyjna i to nie działa. Następnie próbowałem umieścić go w Zend \ Db \ Table \ Table, a następnie rozszerzyć to, ale znowu to nie działa ... Musi istnieć lepszy sposób obejścia tego niż określenie tego samego kodu 90 razy –