Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [ZendFramework]Konfiguracja Zend_Application
batman
post 26.09.2009, 17:24:04
Post #1





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Odkąd do ZF wprowadzony został Zend_Application, wszystkie zasoby pakowałem do application.ini oraz Bootstrap-a, przez co oba pliki były strasznie zaśmiecone, o modułowości nie wspominając. Ponieważ przyszło mi pracować nad projektem, który będzie powielany w wielu konfiguracjach, postanowiłem podzielić zasoby na osobne klasy, które bez żadnego problemu będę mógł zmieniać w zależności od wymagań. Chciałbym jednak pozostawić część zasobów w application.ini, np konfigurację połączenia z bazą danych. I tutaj pojawiają się schody. Kombinunjąc jak to ze sobą połączyć wyszło mi takie coś w pliku index.php:
  1. $configPhp = array(
  2. 'pluginPaths' => array(
  3. 'App_Resource' => APPLICATION_PATH . '/resources'
  4. ),
  5. 'resources' => array(
  6. 'Config' => array(),
  7. 'Env' => array(),
  8. 'FrontController' => array(
  9. 'controllerDirectory' => APPLICATION_PATH . '/controllers'
  10. )
  11. )
  12. );
  13.  
  14. $configIni = new Zend_Config_Ini(APPLICATION_PATH . '/configs/application.ini', APPLICATION_ENV, 'resources');
  15.  
  16. $application = new Zend_Application(APPLICATION_ENV);
  17. $application->setOptions($application->mergeOptions($configPhp, $configIni->toArray()))
  18. ->bootstrap()
  19. ->run();
W jaki sposób zrobić to prościej? Jest jakiś parametr, do którego mogę przypisać ścieżkę do application.ini?



edit
Nie było tematu. Wystarczyło zajrzeć do klasy Zend_Application i wszystko stało się jasne. Wystarczyło dodać klucz config i do niego przypisać ścieżkę do apllication.ini.

  1. $configPhp = array(
  2. 'pluginPaths' => array(
  3. 'App_Resource' => APPLICATION_PATH . '/resources'
  4. ),
  5. 'resources' => array(
  6. 'Config' => array(),
  7. 'Env' => array(),
  8. 'FrontController' => array(
  9. 'controllerDirectory' => APPLICATION_PATH . '/controllers'
  10. )
  11. ),
  12. 'config' => APPLICATION_PATH . '/configs/application.ini'
  13. );
  14.  
  15. $application = new Zend_Application(APPLICATION_ENV, $configPhp);
  16. $application->bootstrap()
  17. ->run();


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
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 Wersja Lo-Fi Aktualny czas: 23.06.2025 - 05:36