Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Budowa modulowa, Kwestia ladowania komponentow
marcio
post
Post #1





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


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?
Go to the top of the page
+Quote Post
cojack
post
Post #2





Grupa: Zarejestrowani
Postów: 898
Pomógł: 80
Dołączył: 31.05.2008

Ostrzeżenie: (20%)
X----


Ja tam u siebie to rozwiązywałem za pomocą dekoratorów
Go to the top of the page
+Quote Post
marcio
post
Post #3





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


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?
Go to the top of the page
+Quote Post
cojack
post
Post #4





Grupa: Zarejestrowani
Postów: 898
Pomógł: 80
Dołączył: 31.05.2008

Ostrzeżenie: (20%)
X----


Wybacz nie (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
marcio
post
Post #5





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


Cytat(cojack @ 3.02.2012, 13:04:48 ) *

@cojack jak zawsze twoje wypowiedzi sa uargumentowane i trafne, nie rozumiem po co w ogole sie udzielasz, taki OT
Go to the top of the page
+Quote Post
cojack
post
Post #6





Grupa: Zarejestrowani
Postów: 898
Pomógł: 80
Dołączył: 31.05.2008

Ostrzeżenie: (20%)
X----


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.
Go to the top of the page
+Quote Post
marcio
post
Post #7





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


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.
Go to the top of the page
+Quote Post
phpion
post
Post #8





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




@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?
Go to the top of the page
+Quote Post
marcio
post
Post #9





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


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)
Go to the top of the page
+Quote Post
phpion
post
Post #10





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




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).
Go to the top of the page
+Quote Post
by_ikar
post
Post #11





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

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


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ć.
Go to the top of the page
+Quote Post
cojack
post
Post #12





Grupa: Zarejestrowani
Postów: 898
Pomógł: 80
Dołączył: 31.05.2008

Ostrzeżenie: (20%)
X----


widzę że pomogliście mu jak cholera
Go to the top of the page
+Quote Post
sazian
post
Post #13





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 141
Dołączył: 19.09.2006
Skąd: B-tów

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


przyganiał kocioł garnkowi (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
marcio
post
Post #14





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


Na dniach napisze co i jak, poki co nic nie kodze bo przytrafila mi sie nieszczesc w rodzinie...(IMG:style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post

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: 23.12.2025 - 08:57