Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ZendFramework] Zend_Application zawsze ładuje wszystkie metody typu "init" z Bootstrapa, A nie powinien ^^
drPayton
post
Post #1





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


Witam!

Wg manuala:
  1. $bootstrap->bootstrap('foo');
  2. //czy też
  3. $bootstrap->bootstrap(array('foo', 'bar'));

Spowoduje załadowanie tylko tych podanych metod.

Nie wiem, co jest grane, ale mi zawsze ładuje wszystkie, niezależnie od tego czy je wymienię jako ten parametr czy też nie...

Wszystko idzie po default'cie z manuala (?) ^^
http://framework.zend.com/manual/en/zend.a...-operation.html

config
Kod
phpSettings.display_startup_errors = 1
phpSettings.display_errors            = 1
    
includePaths.library = APPLICATION_PATH "/../library"
    
bootstrap.path  = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"

resources.view[] =
    
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"

resources.layout.layout     = "default"
resources.layout.viewSuffix = "inc"
resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts"
    
resources.view.viewSuffix = "inc"



index:
  1. defined('APPLICATION_PATH') || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));
  2.  
  3. defined('APPLICATION_ENV') || define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));
  4.  
  5. set_include_path(implode(PATH_SEPARATOR, array(
  6. realpath(APPLICATION_PATH . '/../library'),
  7. )));
  8.  
  9. require_once 'Zend/Application.php';
  10.  
  11. $oApplication = new Zend_Application(
  12. APPLICATION_ENV,
  13. APPLICATION_PATH . '/configs/application.ini'
  14. );
  15.  
  16. $oApplication->bootstrap('view')->run();


Bootstrap:
  1. class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
  2. {
  3. protected function _initFoo()
  4. {
  5. echo "<br>Test<br>";
  6. }
  7. /**
  8.   * View Resource Method
  9.   *
  10.   * @return object Obiekt widoku
  11.   */
  12. protected function _initView()
  13. {
  14. try {
  15.  
  16. $oView = new Zend_View();
  17.  
  18. $oView->doctype('XHTML1_STRICT');
  19.  
  20. $oViewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('ViewRenderer');
  21.  
  22. $oViewRenderer->setView($oView);
  23.  
  24. $oViewRenderer->setViewSuffix("inc");
  25.  
  26. return $oView;
  27. } catch(Exception $oException) {}
  28. }
  29. }
  30.  


W podanym przykłądzie metoda _initFoo jest wywoływana, choc jak na mój gust nei powinna ^^ Powie mi ktoś, o co tu chodzi?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
paq85
post
Post #2





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 25.02.2008

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


Witam.

Wydaje mi się, że metoda run klasy Zend_Application powoduje po prostu wywołanie run bootstrap-era, bez żadnych parametrów.

Dlatego najpierw inicjalizuje (zgodnie z twoim zamysłem) "view" a następnie całą resztę ("view" być może też kolejny raz).

Krótki opis metody Zend_Application->run()

Call the bootstrap's run() method to dispatch the application.


wg. http://framework.zend.com/manual/en/zend.a...ity.application



Ale nie jestem na 100% pewien... (IMG:style_emoticons/default/winksmiley.jpg)

PS sorry za wygląd postu, ale dopiero zaczynam przygodę z tym forum

Ten post edytował paq85 25.08.2009, 14:51:13
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 15.10.2025 - 05:22