Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php/MVC] Lancuszek akcji, akcja w akcji.
c3zi
post
Post #1





Grupa: Zarejestrowani
Postów: 266
Pomógł: 20
Dołączył: 15.11.2006
Skąd: Koszalin

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


Witam,

Jak rozwiazujecie uruchamianie akcji w implementacji innej akcji?

Dodam, iz u mnie kazda akcja posiada swoj widok. Zatem w akcji1, w ktorej musze uruchomic inna akcje2 musialbym jakos przypisac do zmiennej - widok akcji2, a potem przeslac go w zmiennej akcji1 (juz plus akcja2) to widoku akcji1 ? Nie wiem jak do tego podejsc.

Chodzi o to, ze mam dynamicznie tworzona liste danych w akcji2, a akcja1 tez chce z nich korzystac +dodac odp. swoje funkcjonalnosci.

Schemat:
Akcja_showItems->Uruchom akcje main->akcja main wykonuje swoj kod->uruchom szablon akcji_main->przekaz go w zmiennej do akcj showItems->uruchom szablon akcji_showItems przekazuja do niego rowniez dane z akcji main..

Jak do tego podejsc ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
kaniagandzowski
post
Post #2





Grupa: Zarejestrowani
Postów: 72
Pomógł: 1
Dołączył: 2.06.2006

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


Dzięki za szybką odpowiedz.

Przeczytałem klika krotnie twój artykuł Elastyczny kontroler (http://ludvik.pl/2007/08/23/elastyczny-kontroler/) i nie do końca rozumiem jak uruchomić to i jak operować tym wzorcem.

Zrozumiałem w ten sposób (tyczy się przykładu kodu umieszczonego na stronie ludvik.pl art. „elastyczny kontroler”)
Klasa RequestContext (interfejs) to do tej klasy w sumie obiekty typu RequestContext ,są wrzucane dane, przekazane przez użytkownika. A obiekt posiada informacje do jakiej metody są przeznaczone te parametry.

interface ResponseContext (Interfejs kontekstu odpowiedzi ) obiekty tego typu zawierają dane wrzucane przez daną akcje (metodę – wyniki ich wykonania z którymi się chcą podzielić z widokami lub akcjami)

interface HttpRequestDispatcher (Interfejs request dispatchera dla protokołu http) – tego nie wiem co robi
oraz
  1. <?php
  2. class HttpFrontController {
  3. /**
  4.  * Uruchamia kontroler.
  5.  */
  6. function run(HttpRequest $req, HttpResponse $res) {
  7. $dispatcher = new BaseHttpRequestDispatcher();
  8. $controller = $dispatcher->getApplicationController($req);
  9. $reqContext = $dispatcher->getRequestContext($req);
  10. $resContext = $dispatcher->getResponseContext();
  11.  
  12. $controller->forward($reqContext->getActionName());
  13.  
  14. while($controller->hasNextCommand()) {
  15. $command = $controller->getNextCommand();
  16. $command->execute($reqContext, $resContext);
  17. }
  18.  
  19. $view = new BaseHttpView($req, $res);
  20. $view->render($controler->getView(), $resContext);
  21. }
  22. ?>

Do metody są wrzucane dwa parametry $reg typu HttpRequest – nigdzie nie ma pokazanej tej klasy ! oraz drugi parametr $res typu HttpResponse jego klasy tez nie widzę!
Tak domyślam że klasa HttpFrontController tworzy swój obiekt z danymi przekazanymi do akcji i dane przeznaczone do widoku. Które później ten obiekt powstały ma wrzucane dane przekazane dla tej akcji parametr.

Szukałem innych przykładów tego wzorca Context Object lecz nie znalazłem dla php.
Go to the top of the page
+Quote Post

Posty w temacie
- c3zi   [php/MVC] Lancuszek akcji, akcja w akcji.   1.07.2007, 21:35:18
- - Cysiaczek   Powiem Ci coś... To jest bardziej skomplikowane ni...   1.07.2007, 22:36:19
- - c3zi   Witam, Cysiaczek: Niewatpliwie pomogles, aczkol...   3.07.2007, 09:41:42
- - Cysiaczek   Każdy obiekt akcji zawiera obiekt typu actionDataO...   3.07.2007, 13:11:21
- - NoiseMc   Mi sie podoba jak to jest rozwiazane w ZF. W akcji...   3.07.2007, 14:35:01
- - menic   U mnie troche jest to inaczej. Myslalem nad zdefin...   3.07.2007, 14:43:45
- - Cysiaczek   @NoiseMc - Można rzeczywiście w ciele akcji wywoła...   3.07.2007, 14:48:33
- - NoiseMc   Mozna myslec tez w ten sposob, akcje jako komponen...   3.07.2007, 15:05:20
- - c3zi   Cysiaczek: W ktorym momencie definiujesz obiekt A...   3.07.2007, 19:54:07
- - Cysiaczek   Ten obiekt jest tworzony przy tworzenieu egzemplar...   3.07.2007, 20:05:51
- - c3zi   No tak, kazda klasa ma wlasny obiekt z danymi. Jak...   3.07.2007, 22:40:37
- - Cysiaczek   Helper dostarcza mi w tym przypadku interfejs dost...   3.07.2007, 23:46:06
- - NoiseMc   Cytat$this->data->actionName=$this...   13.07.2007, 02:28:15
- - Cysiaczek   Ten obiekt nie należy do warstwy modelu. To po pro...   13.07.2007, 12:31:57
- - menic   Z wszystkich mozliwosci zaprojektowania z jakimi s...   15.07.2007, 16:45:20
- - kaniagandzowski   Cysiaczek: Bardzo mi się spodobał twój pomysł i c...   29.08.2007, 20:45:56
- - menic   Ja u siebie postawiłem na elastycznośc. Może i ten...   29.08.2007, 20:55:59
- - kaniagandzowski   Na pewno będę stosować GET np. do wywołania wybran...   29.08.2007, 21:54:21
- - Ludvik   Ja skłaniam się do wzorca obiektu kontekstu. Wszys...   29.08.2007, 22:34:40
- - kaniagandzowski   Nie znam tego wzorca Context Object (wzorca obiekt...   30.08.2007, 09:06:53
- - Ludvik   Google wyrzuca pierwszy wynik - Core J2EE Patterns...   30.08.2007, 10:15:27
- - kaniagandzowski   Dzięki za szybką odpowiedz. Przeczytałem klika kr...   30.08.2007, 13:47:06
- - Ludvik   Klasy HttpRequest i HttpResponse to pseudo-klasy, ...   30.08.2007, 15:40:53


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: 13.10.2025 - 23:06