Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 7.01.2011 Ostrzeżenie: (0%)
|
No właśnie mam taki problem - dlaczego zmienne klasy kontrolera nie są dostępne we wszystkich akcjach?
Przykład: Controller
I przechodzac z akcji pierwsza do druga, oraz wyświetlając w widoku akcji druga zmienną $test nie wyświetla się nic. Może mi ktoś to łopatologicznie wytłumaczyć? (IMG:style_emoticons/default/winksmiley.jpg) |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 561 Pomógł: 72 Dołączył: 15.11.2006 Ostrzeżenie: (0%)
|
Po pierwsze to masz błąd w kodzie, jest 'vew' powinno być 'view'. A po drugie, chodzi tutaj o to, że wszystko co było w pamięci przy wywołaniu akcji 'pierwsza' zostaje wymazane od razu po wykonaniu się kodu. Język PHP nie zapamiętuje zmiennych, obiektów (i ich składowych) przechodząc pomiędzy wywołaniami strony. Aby mieć coś w zmiennej składowej test musisz wykonać metodę, która ją zmieni czyli teoretycznie w metodzie drugaAction() powinieneś wywołać pierwszaAction() i topiero odwoływać się do zmiennej test. Jakby nie było do tego powinieneś raczej użyć odrębnej metody, która ci tą zmienną zmieni a nie metody, która jest przeznaczona do wykonania całej akcji użytkownika (wszystkie metody typu xxxAction()).
|
|
|
|
d_hrabia [ZF] Zmienne w kontrolerze dostępne we wszystkich akcjach 9.01.2011, 13:04:03
batman 1. Jesteś w akcji pierwsza. Metoda init ustawia wł... 9.01.2011, 13:12:33
d_hrabia Dzięki, sporo mi to rozjaśniło... Bo nawet jak wyr... 9.01.2011, 13:52:01 ![]() ![]() |
|
Aktualny czas: 26.12.2025 - 06:56 |