Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Ładowanie akcji oraz widoków w FW, Dyskusja
menic
post
Post #1





Grupa: Zarejestrowani
Postów: 493
Pomógł: 0
Dołączył: 14.06.2003
Skąd: Tomaszów Lubelski/Rzeszów

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


Będe tu zamieszczał pytania odnoscie działania FW, oraz róznych kruczków (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Pierwsze z nich to pobieranie aktualnej akcji i modułu. Moge to zrobić pobierając z adresu w Kontrolerze module oraz action. Jesli wartosci sa puste podstawiamy domyslne. Bułka z masłem. Jednak co jesli rozszerzymy funkcjonalnosc o znaną funkcje forward()? Przekierowywuje ona do innego modułu i/lub akcji bez zmiany parametrów w adresie. I co teraz? W adresie mamy dane dotyczącego poprzedniej akcji, wiec pobieranie z adresu nie ma sensu. W tym wypadku odpada pobieranie z adresu. Jak to najlepiej rozwiązać? Jak wy to widzicie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

EDIT: Zmieniłem nazwe tematu, na bardziej adekwatny (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował menic 12.01.2007, 15:23:36
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
marcin96
post
Post #2





Grupa: Zarejestrowani
Postów: 57
Pomógł: 0
Dołączył: 21.08.2003
Skąd: Będzin

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


W moim frameworku mam to tak rozwiązane, że każdy widok/akcja może być odpalony z parametrami. ..zatem dla przykladu w akcji, ktora utworzyla nowy news:

  1. <?php
  2.  
  3. function Execute()
  4. {
  5.  [...]
  6.  // kod wewnatrz akcji
  7.  // $rek['ID'] - id ostatniego newsa
  8.  $this->setNext('NewsPlus', 'NewsPlusShow', array('newsPlusShow'=>$rek['ID'], 'saved'=>true));
  9.  return true;
  10. }
  11.  
  12. ?>


..normalnie widok NewsPlusShow odpalam z parametrem get newsPlusShow zwierajacym ID rekordu, ktory chce pokazac Tutaj wywoluje ja z parametrem wewnetrznym.. a co robie w samym widoku?

  1. <?php
  2. function Display()
  3. {
  4.  
  5.  $idNews = $this->getParam('newsPlusShow', array('get','action'), 'Integer'); // pobieramy ID
  6.  $saved = $this->getParam('saved', 'action', 'Integer'); // dzieki temu moge potem to .tpl przekazac informacje, ze trzeba wyswietlic komun
    ikat o nowoutworzonym news
  7. }
  8. ?>


..dzięki temu w widoku nie obchodzi mnie skąd parametr przyszedł i czemu widok został odpalony (bezpośrednio przez Router, czy w wyniku odpalenia jakiejś innej akcji). Oprócz 'get' i 'action' metoda getParam obsługuje mi też 'post'.

W sumie teraz się zorientowałem, że nie do końca na tym polega Twój problem. Tobie chodzi o tzw łańcuchy akcji. Rozwiązałem to u siebie podobnie jak to zrobił Hawk w swoim Phiend (przynajmniej w Phiend 1 tak było..). Pierwsza akcja jest odpalana rzeczywiście przez router, lecz następne są odpalane jako wynik działania akcji/widoku poprzedniego. Jeżeli nie ma w kolejce żadnych akcji/widoku, to wyświetlam to, co się nazbierało w moim obiekcie Response. Ustawianie następnej akcji odbywa się za pomocą setNext (tak, jak powyżej to pokazałem), które dodaje do kolejki w kontrolerze - posiadam jeden, centralny kontroler w swojej implementacji MVC.

Może to w czymś Tobie pomoże ;>)

Pozdrawiam
Go to the top of the page
+Quote Post

Posty w temacie
- menic   Ładowanie akcji oraz widoków w FW   11.01.2007, 16:09:16
- - marcin96   W moim frameworku mam to tak rozwiązane, że każdy ...   11.01.2007, 16:41:49
- - Cysiaczek   A co gdyby przenieść sterowanie z kodu d...   11.01.2007, 17:27:31
- - menic   @Cysiaczek: Zgadzam sie z Toba, ale chyba nie do k...   11.01.2007, 17:54:44
- - Cysiaczek   Przez forward rozumiem uruchomienie innego łańcuch...   11.01.2007, 18:19:55
- - menic   Kod który przedstawiłem dla funkcjiforward jest sz...   11.01.2007, 19:19:43
- - Cysiaczek   Najlepszy moim zdaniem (ale do średnich i dużych) ...   12.01.2007, 09:25:23
- - menic   Nie wiem czy sie rozumiemy do konca. Widok jest p...   12.01.2007, 12:05:12
- - Cysiaczek   Wprowadź obiekt kolekcji uruchamianych modu...   12.01.2007, 12:45:59
- - menic   Nie za bardzo rozumiem. Obiekt kolekcji? Co to   12.01.2007, 15:34:55
- - Cysiaczek   Obiekt, który coś przechowuje i pozwala na przeglą...   12.01.2007, 16:16:54
- - Turgon   Czyli na polskie tłumacząc napisz sobie rejestr ;]...   12.01.2007, 16:58:10
- - menic   Ufff.... Już sie uporałem, bez rejestru Troche ...   12.01.2007, 20:25:31
- - Turgon   Tzn. tak ;] Np. mam newsy i podpinam tam obiekt ...   14.01.2007, 10:43:49
- - menic   Czyli zawartość szablonu news wczytujesz do zmienn...   14.01.2007, 12:06:53
- - Turgon   Tak ;] To jest wygodne i szybkie Tak jest np. w C...   14.01.2007, 20:12:44
|- - menic   Cytat(Turgon @ 14.01.2007, 20:12:44 )...   14.01.2007, 20:45:38
- - Cysiaczek   Ja z kolei includuję : )   14.01.2007, 20:23:16
- - Turgon   menic: Bez różnicy ;] Sprawa gustu przedewszystkim   14.01.2007, 22:07:23
- - menic   W praktyce, podejrzewam jest niewielka róznica jes...   14.01.2007, 22:12:06
- - widmogrod   Witam, zaprezentuje moje rozwiązanie tego problemu...   15.01.2007, 15:05:08
- - menic   Szczerze? Nie rozumiem o czym piszesz Co masz po...   15.01.2007, 18:21:25
- - widmogrod   u mnie bloki są wynikiem akcji .. Po sparsowaniu ...   15.01.2007, 19:56:23
- - menic   Smieszne masz nazewnictwo wszystkiego. U mnie sa t...   15.01.2007, 20:58:03
- - widmogrod   CytatSmieszne masz nazewnictwo wszystkiego. U mnie...   15.01.2007, 23:22:03
- - arecki   Przyglądam się Waszej i snuje wnioski i pomysły . ...   16.01.2007, 00:20:00
- - menic   View dziediczy po AppControlerze, stąd dostepnośc ...   16.01.2007, 07:50:54
- - widmogrod   @menic - i już wszystko jasne ( ciekawe podejście ...   16.01.2007, 13:42:02


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: 18.12.2025 - 00:16