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





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

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


Kod który przedstawiłem dla funkcjiforward jest szczątkowy. Chodzi tylko o ukazanie głownego problemu jakim jest "dobieranie" sie do informacji jaki jest aktualny moduł i akcja (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Forward własciwie jest tylko funkcją dostępową do zmiennych prywatnych (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ustawia on odpowiednie zmienne w klasie i metoda executeAction wywołuje akcje i nastepnie widok dla tej akcji. Całośc znajduje sie w klasie AppController. Tak więc mamy: Controller -> AppController->View && Action. Tak to wygląda w uproszczeniu.

Ciekawie prezentuje sie to drzewo xml. Mogłbyś napisać coś wiecej (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif)

Zastanawia mnie jeszcze jedno pytanie. Jak najskuteczniej wywołać kilka akcji wraz z widokami w jednej akcji? Troche namieszałem. Dajmy przyklad:
  1. <?php
  2. class DefaultAction extends View
  3. {
  4. public function Index()
  5. {
  6. $this->newModel( 'Index', 'Test');
  7. $this->newModel( 'Info', 'Modul');
  8. }
  9. }
  10. ?>
Najspierw wywołujemy akcje Index() w module Default. W tej akcji wywołujemy 2 nowe akcje. Czyli wywołując jedną akcje otrzymujemy ich aż 3. Kiedyś sie nad tym męczyłem jak tworzyłem CMSa, ale nic ciekawego nie wymysliłem. Teraz po przejsciu na OOP chce to już rozwiązać. Przydatne jest to w sytuacji kiedy mamy moduł newsy oraz moduł komentarze. Wywołujemy akcje showNews i w tejże akcji wywołujemy akcje ShowComments z Modułu komentarze. Oczywiscie mozna przekazywać parametry do akcji ShowComments z wnetrza ShowNews takie jak id komentarza itp. Na przeszkodzie stoi mi tylko połączenie wyświetlania szablonów. Bo jest to zrobione, że mamy głowny szablon strony z całym szkieletem w którym jest $this->LoadView(). LoadView załaduje nam podszablon dla danej akcji i modułu. Wszystko działa bardzo ładnie dla pojedynczego wywołania akcji bądź dla forward. Natomiast nie wiem jak to rozwiązać dla większej ilości.
[EDIT] Męcze sie już nad tym pare godzin, aby wywołać klilka akcji w jednej. Prawie mi sie udało, tylko jest jeden problem. Nie wiem jak "złączyć" akcje z widokiem w taki sposób aby widok mógł sie odwołać tylko do zmiennych z jego akcji. Bo w tym do czego doszedłem, widok "gubi" $this. Czy jest jakiś sposób aby "połączyć" obiekty? Przyklad:
  1. <?php
  2. $o = new Obiekt1
  3. $o->funkcja();
  4.  
  5. $o = new Obiekt2; //Zeby Obiekt2 "dołączył" sie do Obiekt1
  6. $o->Innafunkcja();
  7. ?>

Jest coś podobnego mozliwe? Albo może kto ma jakiś złoty środek? Ja juz nie mam pomysłow (IMG:http://forum.php.pl/style_emoticons/default/worriedsmiley.gif)

Ten post edytował menic 11.01.2007, 23:56:53
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
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 12.10.2025 - 04:32