Zend Database Adapter in der Registrierung registrieren
Ich bin auf der Suche registrieren Sie einen Verweis auf die Haupt-Datenbank-Adapter in der Registrierung während des Bootstrapping, also es kann verwendet werden an anderer Stelle in meiner Website (insbesondere die Genehmigung der Aktion).
Implementierte ich ein hässliches Update, wo ich eine Datenbank erstellen, Tabelle Objekt, und rufen Sie die getAdapter () - Methode auf, und übergeben Sie durch, die. Allerdings ist dies eine schlechte Weise, es zu tun, und ich möchte, dass es über die registry.
Weiß jemand, wie dies zu tun? Jede Hilfe oder Zeiger in die richtige Richtung gewürdigt werden!
Cheers
Stuart
Ps. Im mit Zend Framework 1.8.
InformationsquelleAutor der Frage Stuart | 2009-05-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie mit Zend Framework 1.8+, und erstellt in Ihrem Projekt mit dem Befehlszeilen-tool, dann ist es so einfach wie registrieren Sie Ihre Datenbank-Einstellungen in Ihrem
application.ini
config-Datei.Wenn Sie Ihre Datenbank-Einstellungen " vorangestellt
resources.db
Sie brauchen nicht einmal etwas zu tun in IhremBootstrap.php
- Datei, weil es wird es für Sie tun. Auch, durch die Einstellung derisDefaultTableAdapter
Einstellungtrue
können Sie eine Instanz der Datenbank-adapter überall in Ihrer Anwendung.InformationsquelleAutor der Antwort Andrew
Danke für die Antworten. Ich habe beschlossen, ändern Sie die akzeptierte Antwort und poste die Lösung, die ich schließlich verwendet - die ist wahnsinnig einfach am Ende!!
Dieser basiert im Grunde auf Dcaunt ist Kommentar...
In der bootstrap-Klasse..
Dann auf, dass an anderer Stelle mit...
Danke für die Hilfe und hoffentlich hilft jemand anderes.
InformationsquelleAutor der Antwort Stuart
Ihr fehlt die beste 🙂
Wenn Sie die Zend_Db_Table-Modelle (sollten Sie sein) etc, dann können Sie einen Standard-Adapter - auf diese Weise, wenn Sie instanziieren ein Modell der DB-Verbindung versorgt werden, so Sie nicht wirklich brauchen, um es zu speichern in der Registrierung oder über die Mühe-Verbindung vor dem ausführen einer Abfrage über das Modell.
Ich tun, speichern Sie es in der Registrierung für die spätere Verwendung, wenn nötig, aber ich kann diese entfernen
InformationsquelleAutor der Antwort Ian Warner
My 2 cents...
Wie greifen die default DB Adapter:
Vom Bootstrap:
Einer Steuerung gibt es zwei Methoden:
InformationsquelleAutor der Antwort Julian
Überprüfen Sie die zend-Dokumentation unter :
15.5.3.3. Speichern eines Datenbankadapters in der Registry
http://framework.zend.com/manual/en/zend.db.table.html
etwas wie, dass Sie suchen?
Edit:
zum laden der Konfiguration über eine ini-Datei verwenden:
parse_ini_file($inifile)
InformationsquelleAutor der Antwort Silfverstrom
Ich habe eine Methode in meiner bootstrap hinzufügen der adapter der registry. Ich würde lieber eine saubere Lösung, aber es funktioniert:
InformationsquelleAutor der Antwort David Snabel-Caunt
Hier ist was ich tun:
Innerhalb der bootstrap Datei:
Innerhalb der Initialisierer:
Und endlich meine config-Datei sieht wie folgt aus:
Werfen Sie einen Blick auf:
InformationsquelleAutor der Antwort Boris Guéry
Wenn Sie mit Zend Framework 1.8 nur etwas tun, wie dieses in Ihrem controller/action:
Meine Defaul_Model_Users-Klasse würde wie folgt Aussehen:
Und der Teil des Modells, die "interagiert" direkt mit der Datenbank-Tabellen findet man in DbTable-Verzeichnis sieht wie folgt aus:
Dann hätte ich die gleiche Anwendung.ini generiert, die von Zend Framework mit dieser kleinen Ergänzung:
Wie ich das geschafft habe ohne ohne änderung der bootstrap-Dateien.
InformationsquelleAutor der Antwort wenbert
Ich wollte nicht, dass Sie die Registrierung verwenden, zu speichern ein Objekt, dass ich in der Lage sein sollten, Zugang, also habe ich ein wenig Graben. Es stellt sich heraus, dass die bootstrap registriert ist wie der front-controller-parameter "bootstrap", zugänglich ist, die Ihren Controller, wie in diesem Handbuch beschriebene Seite für Zend_Application.
Also in Ihrem controller-Klassen, Sie können das db-adapter, der definiert wurde, in der ini-Datei wie folgt:
InformationsquelleAutor der Antwort Vishal Parpia