porno porno izle rokettube
Ergebnis 1 bis 8 von 8

Thema: Probleme beim mergen von configs / Moduleigene configs

  1. #1
    Neuer Benutzer
    Registriert seit
    06.07.2016
    Beiträge
    5
    Thanks
    2
    Thanked 0 Times in 0 Posts

    Standard Probleme beim mergen von configs / Moduleigene configs

    Hallo liebe Foristen!

    Das ist mein erster Post und ich hab natürlich im Forum gesucht, bevor ich poste.
    Also:
    Ich möchte für verschiedene Module eigene Configs haben, die natürlich von der apllication.ini erben.

    Ich habe es folgendermaßen probiert:

    1. in der Module Bootstrap merge ich die globale application.ini mit der modularen

    protected function _initModConfig()
    {
    $globalconfig = Zend_Registry::get('appcfg');

    $modcfg = new Zend_Config_Ini(dirname(__FILE__) . '/configs/module.ini', APPLICATION_ENV, true);

    $modcfg->merge($globalconfig);

    $modcfg->setReadOnly();
    Zend_Registry::set('appcfg', $modcfg);
    }

    Das Resultat ist, daß der Zugriff auf x-beliebe Parameter funktioniert.
    Zb.
    foo.bar.passwort = 'passwort'

    Und irgendwo im Quellcode kann ich darauf zugreifen:
    $this->_config->foo->bar->passwort

    alles Prima.

    Nur:

    Sobald der Name des Moduls der Prefix ist, werden diese Parameter ignoriert.

    ZB:

    modulename.resources.db.adapter='PDO_MYSQL'
    usw.

    und

    autoloaderNamespaces[]='Klassenname_'

    wurde auch nicht in die in die neue Config übernommen.


    Hat jemand eine Lösung?
    Danke

  2. #2
    Super-Moderator Avatar von Kaiuwe
    Registriert seit
    30.12.2006
    Beiträge
    5.513
    Thanks
    3
    Thanked 352 Times in 283 Posts

    Standard

    Willkommen im Forum!
    Zitat Zitat von indexController Beitrag anzeigen
    Sobald der Name des Moduls der Prefix ist, werden diese Parameter ignoriert.

    ZB:
    Code:
    modulename.resources.db.adapter='PDO_MYSQL'
    Das wird auch nichts bringen, denn "Zend_Application" interessieren deine eigene Konfigurationsparameter nicht. Die Konfiguration muss für "Zend_Application" komplett im Vorfeld, vor dem Start des Bootstrap-Vorgangs, gesetzt werden. (Ich hoffe, ich erinnere mich richtig, denn Version 1 liegt schon etwas zurück!)

    Du könntest im Vorfeld alle Konfigurationsdateien zusammenfügen, mit einfachem PHP oder Zend_Config, und dann als zweiten Parameter an "Zend_Application" übergeben.


    Ich empfehle dir aber etwas ganz anderes: Überlege dir einen Migrationsweg von ZF1 zu einer neuen Version und starte damit! Der Support für Version 1 wird im September eingestellt. Es gibt bis dahin nur noch Security Fixes, danach ist komplett Schluss. (außer man ist Enterprise-Kunde von "Zend Server")
    Zum Zend Framework stehen jedem folgende Quellen zum Nachschlagen zur Verfügung:

  3. The Following User Says Thank You to Kaiuwe For This Useful Post:

    indexController (07.07.2016)

  4. #3
    Neuer Benutzer
    Registriert seit
    06.07.2016
    Beiträge
    5
    Thanks
    2
    Thanked 0 Times in 0 Posts

    Standard

    Moin! Ah Ok, du meinst in der public/index.php oder ähnlichen oder in der Main Bootstrap könnte ich diese beiden Konfigurationsdateien zusammenfügen? Entweder mit array_merge (wenn ich vorher to Funktion toArray aufrufe) oder eben über congig1->merge(config2).
    Vielen Dank!

    PS: Immigration auf ZF2 ist natürlich eine Option, nur ist diese Applikation Teil eines Ganzen.

    Schöne Grüße
    indexController

  5. #4
    Super-Moderator Avatar von Kaiuwe
    Registriert seit
    30.12.2006
    Beiträge
    5.513
    Thanks
    3
    Thanked 352 Times in 283 Posts

    Standard

    Zitat Zitat von indexController Beitrag anzeigen
    Moin! Ah Ok, du meinst in der public/index.php oder ähnlichen oder in der Main Bootstrap könnte ich diese beiden Konfigurationsdateien zusammenfügen? Entweder mit array_merge (wenn ich vorher to Funktion toArray aufrufe) oder eben über congig1->merge(config2).
    Entweder so:
    PHP-Code:
    $config '…';

    $application = new Zend_Application(
        
    APPLICATION_ENV,
        
    $config
    );
    $application->bootstrap()
                ->
    run(); 
    oder in deiner Bootstrap-Klasse eventuell die Methode „setOptions“ erweitern. Musst du mal schauen, was hier sinnvoll ist. Wie gesagt, Version 1 liegt schon lange zurück.

    Zitat Zitat von indexController Beitrag anzeigen
    Immigration auf ZF2 ist natürlich eine Option…
    Leider falsch! Es ist keine Option, es ist ein Muss. Am 28.09.2016 ist mit Version 1 definitiv Schluss. Es gibt jetzt schon jetzt keine Bugfixes mehr, nur noch Security Fixes.
    Daher lohnt es sich nicht die Anwendung, welche auf ZF1 basiert, zu erweitern. Ein Migrationspfad sollte entwickelt werden – zu Version 3!

    Der entsprechende Ankündigung findest du dazu im ZF-Blog: https://framework.zend.com/blog/2016-06-28-zf1-eol.html
    Geändert von Kaiuwe (07.07.2016 um 12:22 Uhr)
    Zum Zend Framework stehen jedem folgende Quellen zum Nachschlagen zur Verfügung:

  6. #5
    Neuer Benutzer
    Registriert seit
    06.07.2016
    Beiträge
    5
    Thanks
    2
    Thanked 0 Times in 0 Posts

    Standard

    Ok, vielen Dank!
    Wenn ich den config merge eine Ebene tiefer mache, also in der index.php dann funktioniert das. (Bis auf die Auflösung der autoloadNamespaces[], da das ein array ist, scheint das beim mergen nicht zu funktionieren)
    Dann scheint das nicht möglich zu sein, modulare Config inis zu erstellen, OHNE irgendetwas in den Dateien zu ändern, die von der gesamten Applikation benötigt werden? Also zb. der index.php?
    Mein Ziel ist es eigentlich, das sich Modul nahtlos in die bestehende Umgebung integriert.

    Ehrlich gesagt verstehe ich nicht warum:
    Wenn ich in der module Bootstrap eine Methode _initModConfig() schreibe, die beide Configs merged und und im Anschluss die gemergete Config mit Zend_Registry::set('cfg', $gemergeteConfig) überschreibt. sollte ich doch sowohl über die modualre als auch über die globale Config verfügen können?

    Danach kommt ja erst der Zugriff auf diese Config, in meinem Falle durch die Initialisierung einer moduleigenen Datenbank.

    $application = new Zend_Application(
    APPLICATION_ENV,
    $config
    );
    $application->bootstrap()
    ->run();
    Ja das ist klar, das passiert in der index.php oder ähnliches
    Ein andere, auch wenig elegante Lösung wäre eine zweite index.php, oder dergl und den vhost darauf einzurichten.

    PS: Wegen Migration hast du natürlich völlig recht

  7. #6
    Super-Moderator Avatar von Kaiuwe
    Registriert seit
    30.12.2006
    Beiträge
    5.513
    Thanks
    3
    Thanked 352 Times in 283 Posts

    Standard

    Zitat Zitat von indexController Beitrag anzeigen
    Mein Ziel ist es eigentlich, das sich Modul nahtlos in die bestehende Umgebung integriert.
    Im ZF1 sind es nur Pseudo-Module, da gibt es keine klare Trennung oder gar eine sinnvolle Handhabung. Das kam erst mit Version 2.

    Zitat Zitat von indexController Beitrag anzeigen
    Wenn ich in der module Bootstrap eine Methode _initModConfig() schreibe, die beide Configs merged und und im Anschluss die gemergete Config mit Zend_Registry::set('cfg', $gemergeteConfig) überschreibt.
    Damit kannst du aber keine Optionen für die Ressourcen von „Zend_Application“ setzen, denn „cfg“ ist deine Erfindung und interessiert „Zend_Application“ und die zugehörigen Ressourcen nicht.
    Zum Zend Framework stehen jedem folgende Quellen zum Nachschlagen zur Verfügung:

  8. The Following User Says Thank You to Kaiuwe For This Useful Post:

    indexController (08.07.2016)

  9. #7
    Neuer Benutzer
    Registriert seit
    06.07.2016
    Beiträge
    5
    Thanks
    2
    Thanked 0 Times in 0 Posts

    Standard

    ok. vielen Dank! Das erklärt, warum ich auf xbeliebige Parameter, die ich in meiner module config eingetragen habe wunderbar zugreifen kann, aber nicht auf ressourcen. Wieder mal ein wenig schlauer!
    EIn Grund mehr noch um auf ZF2 zu migrieren.

  10. #8
    Super-Moderator Avatar von Kaiuwe
    Registriert seit
    30.12.2006
    Beiträge
    5.513
    Thanks
    3
    Thanked 352 Times in 283 Posts

    Standard

    Zitat Zitat von indexcontroller Beitrag anzeigen
    ein grund mehr noch um auf zf2 zu migrieren.
    Version 3!
    Zum Zend Framework stehen jedem folgende Quellen zum Nachschlagen zur Verfügung:

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 20.04.2012, 23:00
  2. Zend_Form_Element_Select und XML configs
    Von jami im Forum Einsteigerfragen
    Antworten: 2
    Letzter Beitrag: 07.12.2009, 13:50
  3. Probleme beim laden von Bootstrap-Resourcen
    Von G.Schuster im Forum Core
    Antworten: 8
    Letzter Beitrag: 29.09.2009, 00:02
  4. Ordnerstruktur "config" vs. "configs"
    Von Rauschi im Forum Konzepte & Ideen
    Antworten: 1
    Letzter Beitrag: 07.05.2009, 18:40
  5. Probleme beim verarbeiten von utc-timecode
    Von Marco im Forum Lokalisierung & Internationalisierung
    Antworten: 5
    Letzter Beitrag: 12.05.2008, 14:41

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •