Powstanie Zend_Application to milowy krok w rozwoju Zend Framework, ale podczas jego używania napotkałem na pewną niedogodność.
Otóż, jeżeli chcesz używać jakiegokolwiek zasobu aplikacji (Resource) w akcji trzeba użyć trochę skomplikowanego kodu:
$this->getInvokeParam(‘bootstrap’)->getResource(‘nazwa_zasobu’);
lub poza akcją (np. w modelu) takiego:
Zend_Controller_Front::getInstance()->getParam( ‘bootstrap’ )->getResource(‘nazwa_zasobu’);
Jak dla mnie to dość skomplikowane i nie pozwala EclipsePDT na podpowiadanie składni.
Ale jest rozwiązanie. Proste i szybkie:
global $application;
$application->getResource(‘nazwa_zasobu’);
Oczywiście $application to nazwa zmiennej która została użyta w index.php – tutaj użyta nazwa zmiennej występującej w domyślnie wygenerowanym przez Zend_Tool projekcie. Można go używać w całej aplikacji bez ograniczeń.
Na dodatek takie rozwiązanie działa kiedy mamy ustawione w php.ini: register_globals na Off. W takim środowisku to testowałem
Mam nadzieję, że rozwiązanie to pozwoli na prostsze używanie zasobów aplikacji (Zend_Application_Resource_*)
Obecnie rozważamy Proposal’a aby “ustatycznić” pobieranie zasobów z Zend_Application lub przebudowanie go tak aby mógł być używany jako Singleton.

