Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ZendFramework] Dostęp do konfiguracji
nexis
post
Post #1





Grupa: Zarejestrowani
Postów: 1 012
Pomógł: 109
Dołączył: 26.09.2003
Skąd: nexis.pl

Ostrzeżenie: (0%)
-----


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ć?


--------------------
Zend Certified Engineer

Kliknij POMÓGŁ jeśli moja odpowiedź okazała się użyteczna!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
melkorm
post
Post #2





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


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 ... .

Ten post edytował melkorm 14.07.2009, 17:02:51


--------------------
Go to the top of the page
+Quote Post
ert16
post
Post #3





Grupa: Zarejestrowani
Postów: 26
Pomógł: 5
Dołączył: 4.02.2005
Skąd: Kraków

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
nexis
post
Post #4





Grupa: Zarejestrowani
Postów: 1 012
Pomógł: 109
Dołączył: 26.09.2003
Skąd: nexis.pl

Ostrzeżenie: (0%)
-----


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. ?>


--------------------
Zend Certified Engineer

Kliknij POMÓGŁ jeśli moja odpowiedź okazała się użyteczna!
Go to the top of the page
+Quote Post
melkorm
post
Post #5





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


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());


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 15:08