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
Cysiaczek
post
Post #2





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Przez forward rozumiem uruchomienie innego łańcucha akcji. Ok. za mnie niech przemówi XML : )

  1. <index>
  2.      <status>
  3.            <ok>
  4.                  <view>index</view>
  5.            </ok>
  6.            <error>
  7.                  <forward>error</forward>
  8.            </error>
  9.      </status>
  10.  
  11.      <subactions>
  12.            <news />
  13.            <menu />
  14.      </subactions>
  15. </index>
  16.  
  17. <news>
  18.      <status>
  19.            <ok>
  20.                  <view>news</view>
  21.            </ok>
  22.            <error>
  23.                  <view>error</view>
  24.            </error>
  25.      </status>
  26. </news>
  27.  
  28. <menu>
  29.      <status>
  30.            <ok>
  31.                  <view>listmenu</view>
  32.            </ok>
  33.            <error>
  34.                  <view>error</view>
  35.            </error>
  36.      </status>
  37.  
  38. </menu>
  39.  
  40.  
  41. <error>
  42.      <status>
  43.            <ok>
  44.                  <view>ErrorPage</view>
  45.            </ok>
  46.            <error>
  47.                  <exit>Blad krytyczny</exit>
  48.            </error>
  49.      </status>
  50.  
  51.      <subactions>
  52.            <logError />
  53.            <sendNotify />
  54.      </subactions>
  55. </error>




W powyższym przykładzie wywołując akcję index wywołujemy subakcje
<news />
<menu />
W razie powodzenia zostaną wybrane odpwiednie widoki i system jakoś sobie dalej poradzi. W razie błędu kontroler uruchomi nowy łańcuch, czyli akcję <error />. To, czy zrobi to przez header, czy nie, jest kwestią drugorzędną. Faktycznie można uznać, że mój forward to coś w rodzaju redirect i chyba można stosować zamiennie ta nazwę : )
powyższy przykład nie uwzględnia oczywiście modułów (bo i po co - to przykład)
Twoja metoda forward() to u mnie ekwiwalent execute(). Akcja go nie ustawia.
Jeszcze pokażę akcję.
  1. <?php
  2. class Index extends Action {
  3.  
  4. public function Perform(){
  5. $test=1;
  6. // tak poglądowo
  7. $this->aVars['tekst']="jakiś tekst";
  8. $this->aVars['lista']=$array;
  9.  
  10. if ($test==1){
  11. $this->setStatus("ok");
  12. }
  13. else {
  14. $this->setStatus("error");
  15. }
  16.  
  17. }
  18.  
  19. }
  20. ?>


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: 15.10.2025 - 22:45