Witaj, Gościu O nas | Kontakt | Mapa
Wortal Forum PHPEdia.pl Planeta Kubek IRC Przetestuj się!

Phiend: Łańcuchy akcji

Środek łańcucha: wywoływanie innych akcji

Łączenie akcji w łańcuch rozpoczyna się dopasowywaniem. Po odwzorowaniu żądania do akcji, jest ona uruchamiana. Jeśli jest to akcja logiki, nie może ona być ostatnią w łańcuchu. Musi za to zwracać nazwę kolejnej akcji. Ta akcja jest z kolei wykonywana przez Phiend. To właśnie określa się jako "łączenie akcji w łańcuch". W ten sposób akcje uruchamiane są jedna po drugiej, a kontrola jest przekazywana do następnej akcji w kolejności. Jest jednak jeszcze jeden sposób na wywołanie kolejnej akcji ze środka (z wewnątrz) bieżącej akcji. Można bezpośrednio wywołać akcję, zamiast wydawać polecenie Phiend'owi, aby uruchomił ją dopiero po twojej akcji. Aby to zrobić przywołaj metodę _callAction w twojej klasie akcji. Oto składnia tej metody:

boolean _callAction(string $name)

Metoda ta odziedziczona została z podstawowej klasy akcji, dostarczanej przez Phiend. Argument $name, oznacza nazwę akcji, która ma być uruchomiona. Wartość zwrócona tej metody jest równa tej, jaką miałaby akcja, która wróciłaby, gdyby była uruchomiona przez Phiend'a. To znaczy, że jest to wartość zwrócona przez metodę akcji perform, jeśli wywoływana akcja jest akcją logiki, true, jeśli akcja ta jest akcją widoku, lub false, jeśli akcja nie mogła zostać uruchomiona (na przykład, jeśli nazwa akcji jest błędnie napisana).

Phiend nic jednak nie zrobi z wartością zwróconą. Nie uruchomi na przykład kolejnej akcji. Wartość ta jest potrzebna jedynie do wywołania twojej akcji. Mimo to, aby zostać uruchomiona, akcja, którą wywołujesz, musi przejść uwierzytelnienie użytkownika. W innym wypadku zwrócone będzie false. Ponadto, jeśli wywołujesz akcję, a ona wymusza wylogowanie użytkownika, zostanie on wylogowany, a to może wpłynąć na twoja akcję.

Informacje na podobny temat:
Wasze opinie
Wszystkie opinie użytkowników: (0)
Mentax.pl    NQ.pl- serwery z dodatkiem świętego spokoju...   
O nas | Kontakt | Mapa serwisu
Copyright (c) 2003-2022 php.pl    Wszystkie prawa zastrzeżone    Powered by eZ publish Content Management System eZ publish Content Management System