Zend Framework 2 - DI und Tabellenadapter in Tabellen einfügen ... langweilig?

9

Ich lese gerade das Rob-Allen-akrabat-ZF2-Tutorial ( Ссылка ), wie man Abhängigkeiten in deine Sachen einfügt, wie du deinen Tabellenadapter in deine Tabellenklassen einfügst.

Das scheint so zu sein, wie ich es tun soll:

%Vor%

Ok, das ist ziemlich cool, aber ich habe ungefähr 84 Tische, also werde ich jeden von diesen hinzufügen müssen und sagen, dass ich möchte, dass PdoMySQL in alle einspritzt. Gibt es einen geeigneten Weg dies zu tun, wie zB meinen gesamten DbTable-Ordner anzugeben? Nicht einmal das funktioniert:

%Vor%

Hat das jemand anderes getan und eine bessere Lösung gefunden?

Danke, Dom

    
Dominic Watson 15.11.2011, 19:10
quelle

2 Antworten

1

Ihre Frage ist eine gute, und ich stimme zu, dies ist ein Szenario, in dem die Abhängigkeitsinjektion keinen Sinn ergibt. Ich habe die ZF2-API noch nicht durchsucht. Haben sie die Fähigkeit, den Adapter auf der Verbindungsebene zu binden, vollständig aufgegeben, anstatt auf der Tabellenebene?

In meiner Datenbank-Klasse verwende ich eine Yaml-Datei, um Verbindungseinstellungen zu speichern; Benutzername, Passwort, Adapter, etc. Ich habe es in einem Format erstellt, das direkt an Zend_Config übergeben werden kann, welches dann an die Zend_Db-Klasse übergeben werden kann.

%Vor%

Nun, wenn ich jemals den Adapter für eine Datenbankverbindung ändern muss, muss ich es nur an einem Ort ändern, der connection.yml-Datei.

Ich glaube auch, dass Sie diese Art von Verbindungsdaten in verschiedenen anderen Formaten (XML usw.) speichern können.

    
Mike Purcell 30.11.2011 06:28
quelle
0

Sie sollten Zend \ Db \ Adapter \ AdapterAwareInterface in Ihren Modellklassen implementieren und über den Service Manager in Ihren Controllern anfordern. Werfen Sie einen Blick auf meinen Blogbeitrag für weitere Details: Ссылка

    
Cmyker 24.11.2012 16:17
quelle