Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Budowa modulowa
Forum PHP.pl > Inne > Hydepark
marcio
Witam chcialem sie zapytac jak rozwiazujecie sprawe ladowania komponentow do aplikacji.

Do tej pory mialem glowny frontontroller z glownym widokiem podzielonym na bloki, gdzie do kazdego bloku ladowalem komponenty czyli blockcontroller.

Nie wiem czy jest to najlepsze wyjscie, czy znacie jakies inne rowniez ciekawe podejcia?
cojack
Ja tam u siebie to rozwiązywałem za pomocą dekoratorów
marcio
Cytat(cojack @ 3.02.2012, 11:02:52 ) *
Ja tam u siebie to rozwiązywałem za pomocą dekoratorów

Hmm a jakis kod jak mozna?
cojack
Wybacz nie smile.gif
marcio
Cytat(cojack @ 3.02.2012, 13:04:48 ) *
Wybacz nie smile.gif

@cojack jak zawsze twoje wypowiedzi sa uargumentowane i trafne, nie rozumiem po co w ogole sie udzielasz, taki OT
cojack
marcio pytasz się czy Ci pokaże mój kod, nie pokaże Ci, nie muszę tego argumentować, bez przesady. Powiedziałem Ci jak ja to u siebie rozwiązałem, bądź kreatywny.
marcio
Cytat
bądź kreatywny

jestem kreatywny skoro chcesz sie udzielac to rob to dobrze lub nie rob wcale, nie zadalem prostego pytania lecz zapytalem o obszerny temat wiec jak juz nie "popierasz" odp kodem to przynajmniej wysil sie i wytlumacz na czym polega wykorzystanie dekorator u ciebie.
phpion
@cojack:
Faktycznie część Twoich ostatnich postów jest po prostu zbędna.

@marcio:
Opis czym dla Ciebie jest komponent. Czy jest to np. sekcja z ostatnimi newsami, zalogowanymi użytkownikami itp?
marcio
Tak chce rozwarzyc 2 opcje:

Komponent: czyli np komponent logowania,news'y,komentarze itp...itd ogolnie dla tresci dynamicznych ktore potrzebuja tez modelow.

Widget: czyli czesci bardziej statyczne ktora bedzie mozna tez wczytywac juz w widoku, jak np jakies menu,box informacynjy,kalendarz takie mniejsze bzdety.

Poprostu komponent ma taka swoja wlasne logike jest tez budowany na zasadzie mvp, tak samo jak i frontcontroller ktory bedzie wlasnie ladowal te komponenty do glownego layout'u(widoku)
phpion
Ja mam to zrobione na zasadzie helpera html::widget(). Równocześnie mam klasę odpowiedzialną za utworzenie danego widgetu. Wywołanie wygląda tak:
  1. html::widget('klasa', 'metoda', array('parametr' => 'wartosc');

Mam też utworzoną klasę na zasadzie:
  1. class Klasa {
  2. public function metoda() {
  3. }
  4. }

Czyli html::widget() tworzy obiekt klasy Klasa i wywołuje na nim metodę metoda(). Metoda ta zwraca po prostu string - może skorzystać z widoku, albo nie - to już jej sprawa. Wewnątrz metody mogę dobrać się do modelu czy czego tam chcę.

Aha, tutaj masz tą klasę w pierwotnej wersji (jeszcze jako symfony::include_component() ale idea praktycznie ta sama).
by_ikar
A ja mam taki komponent zrobiony na podobnej zasadzie co moguł/akcje. Różnica jest w tym, że akcja z modułu przekazuje dane do klasy response, która z kolei przekazuje dane do przeglądarki. Komponent nie przekazuje żadnych danych do klasy response, jedynie te dane zwraca, czyli te dane mogę przypisać do czegoś konkretnie, lub wyświetlić je w jakimś miejscu, powiedzmy szablonie. Do takiego komponentu oczywiście można przekazać jakieś dodatkowe argumenty. Prócz sposobu zwracania, akcja od kompomentu różni się w sumie tylko końcówką: indexAction, comentsComponent. Zarówno komponent jak i akcja mają dostęp do tych samych danych. Coś w sumie podobnego jak jest w symfony 1.4 z tą różnicą że w symfony komponentów raczek nie używa się w widoku, tam raczej używa się helperów, widgetów etc no ale na swoje potrzeby postanowiłem tego nie rozdrabniać.
cojack
widzę że pomogliście mu jak cholera
sazian
przyganiał kocioł garnkowi wink.gif
marcio
Na dniach napisze co i jak, poki co nic nie kodze bo przytrafila mi sie nieszczesc w rodzinie...sad.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.