Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ZF]Action Helpery
Forum PHP.pl > Forum > PHP > Frameworki
johnyMajster
Witam serdecznie
Mam katalog My/helpers gdzie umieszczam helpery w moim przypadku mam jeden Login.php

W bootstrapie mam tak:
  1. class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
  2. {
  3. protected function _initActionHelpers(){
  4.  
  5.  
  6. Zend_Controller_Action_HelperBroker::addPrefix('My_Helpers');
  7.  
  8. //Zend_Controller_Action_HelperBroker::addPath(APPLICATION_PATH .'/My/helpers');
  9. }
  10. }


Próbuje obecnie uruchomic helpera pierwszy niezakomentowany sposób nie wyrzuca błędu po wywołaniu helpera z akcji ale helper nie działa tak jakby nic nie było w kodzie (nawet głupie echo nic nie wypisze) natomiast drugi sposób wyrzuca błąd
Nie rozumiem dlaczego tak jest??

wywołuje tak
$this->_helper->Login->wypiszEcho;

Prawdopodobnie nie działa dlatego że w helperze mam jeszcze jednego helpera:

  1. return $this->_helper->redirector(
  2. 'index',
  3. 'auth',
  4. 'default'
  5. );


Może byc problem ze słówkiem $this
irmidjusz
johny, postaraj się być nieco bardziej samodzielny, to jest naprawdę proste. Action helpery dziedziczą z Zend_Controller_Action_Helper_Abstract, a zarządza nimi Zend_Controller_Action_HelperBroker, więc przejrzyj sobie obie klasy oraz manuala.
Poza tym:
1) w bootstrapie coś w stylu (nie pamiętam dokładnie)
  1. Zend_Controller_Action_HelperBroker::addPath(APPLICATION_PATH.'/My/helper', 'My_Helper');

2) jeśli w action helperze chcesz użyć innego helpera, to np. tak:
  1. $this->_actionController->_helper->redirector('...')

albo za pomocą metod statycznych klasy Zend_Controller_Action_HelperBroker: hasHelper('nazwa'), getExistingHelper('nazwa'), getStaticHelper('nazwa').
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.