Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ZendFramework] Dostęp do konfiguracji
Forum PHP.pl > Forum > PHP > Frameworki
nexis
Przy tworzeniu aplikacji jest podawana ścieżka do pliku konfiguracyjnego:

  1. <?php
  2. $application = new Zend_Application(
  3.    APPLICATION_ENV,
  4.    APPLICATION_PATH . '/config/app.ini'
  5. );
  6. $application->bootstrap();
  7. $application->run();
  8. ?>


Poza wpisami, które ZF interpretuje automatycznie (połączenie z bazą danych, raportowanie błędów, itd.), mam również własne wartości. Jak z poziomu kontrolera mogę się do nich dostać?
melkorm
Niby interfejs Zend_Application_Resource_Resource ma metode getOptions().

a dokładniej tak:
  1. <?php
  2. // Create application, bootstrap, and run
  3. $application = new Zend_Application(
  4.    APPLICATION_PATH . '/configs/application.ini'
  5. );
  6. $application->getOptions();
  7. ?>


No i wtedy chyba do rejestru, bo nie widze nigdzie jak się dobrac do tego w kontrolerze, hum ... .
ert16
Ja proponuję kilka podejść :
- W bootstrap wrzucić konfigurację do rejestru, i pobierać z rejestru
- Przenieść Twoją konfigurację do osobnego pliku, i w czytywać ją na żądanie, lub przez jakąś metodę w odpowiedniej klasie
nexis
Udało się w ten sposób:

  1. <?php
  2. protected function _initConfiguration()
  3. {
  4.    $config = $this->getOptions();
  5.    $registry = Zend_Registry::getInstance();
  6.    $registry->configuration = $config;
  7. }
  8. ?>
melkorm
Odświeżam trochę temat bo dawno znalazłem rozwiązanie i żeby dla wyszukujących było podane poprawne rozwiązanie ....

  1. // w kontrolerze
  2. $b = $this->getInvokeArg('bootstrap');
  3. var_dump($b->getOptions());
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.