Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [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
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
drPayton
post
Post #3





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

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


Testowo usunąłem run(). Dispatch oczywiście nie poszedł, jednak metoda _initFoo() została wykonana. Więc to chyba nie tu leży problem (IMG:style_emoticons/default/winksmiley.jpg)

@down: Sprawdzę jutro rano, ale pewnie masz rację (IMG:style_emoticons/default/winksmiley.jpg)

Ten post edytował drPayton 25.08.2009, 15:48:04
Go to the top of the page
+Quote Post
seth-kk
post
Post #4





Grupa: Zarejestrowani
Postów: 444
Pomógł: 79
Dołączył: 26.05.2009

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


uzywasz metode bootstrap na zlym obiekcie,
bootstrap() z Zend_Application_Bootstrap przyjmuje zasoby jako parametr, bootstrap() z Zend_Application nie
Go to the top of the page
+Quote Post
drPayton
post
Post #5





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

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


Tia, pokarało mnie za lenistwo, nie spojrzałem w kod. No cóż, burzy to trochę moje plany związane z zend_application ale trudno (IMG:style_emoticons/default/tongue.gif) Dzięki (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

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: 24.08.2025 - 01:32