Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ZF] jak przekazać zmienne pomiędzy kontrolerami
Forum PHP.pl > Forum > PHP > Frameworki
3Dcreator
Jestem nowy w tematyce php i ZF. Przerobiłem sobie tutoriale Roba Allena, wszystko mi działa. Chciałbym dodać do swojej testowej aplikacji jakieś swoje featurki, i ugrzązłem na przekazaniu zmiennych między kontrolerami.
Oczywiście próbowałem znaleźć rozwiązanie na własną rekę, chciałem użyć Zend_Registry, bo wydaje mi się że do tego właśnie on służy. Nieststy nic nie znalazłem sciana.gif

Problem jest taki:
//kontroler A
Zend_Registry::set('cos','cos');
...
//kontroller B
if(Zend_Registry::isRegistered('cos')) echo Zend_Registry::get('cos');
else echo "nie działa";

i zawsze wypisuje "nie działa". Jak to zrobić? Jest jeszcze jedna dziwna rzecz, jak w bootstraperze wpisze coś do rejestru to 
ogę to wyciągnąć w kontrolerze.
Identyczne objawy daje analogiczne działanie z Zend_Controller_Front::setParam()-getParam() - tu wywala wyjątek, że nie ma nic pod kluczem, pod który coś wpisałem w innym kontrolerze, chyba że wpisze coś w pliku bootstrapera, wtedy działa.
Z góry dzieki za pomoc.
Martio
Musi działać zarówno dodanie do rejestru jak i zapisanie parametru. Mam nadzieję, że przechodzisz do innego kontrolera nie za pomocą przekierowania (redirect),a przekazania (forward)? Bo w przypadku przekierowania resetujesz sobie żądanie HTTP i tracisz instancję swoich ustawionych parametrów i jedynym rozwiązaniem jest sesja.
3Dcreator
Cytat(Martio @ 17.11.2007, 17:58:39 ) *
Mam nadzieję, że przechodzisz do innego kontrolera nie za pomocą przekierowania (redirect),a przekazania (forward)?


no właśnie, dzięki! To najpewniej to, jeszcze nie sprawdziłem, więc nie mam pewności. Ale jak piszesz, że musi działać, to pewnie tak jest.
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.