Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] sterowanie modułami we własnym frameworku., Proszę o ocenę pomysłu.
karmer
post
Post #1





Grupa: Zarejestrowani
Postów: 23
Pomógł: 2
Dołączył: 3.09.2008
Skąd: Kętrzyn

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


Witam,
Postanowiłem napisać swój własny framework. Jeszcze drobne poprawki i będzie ok. Wcześniej jednak może ocenicie moj sposób rozumowania i powiecie co o tym sądzicie.
Potraktowałem serwis www jak aplikację.
Każda aplikacja do komunikacji z użytkownikiem używa widoków, które są wcześniej z wielką dbałością projektowane. Jest ich określona ilość - zgodna z ilością funkcji oferowanych przez aplikację.
W frameworku nad którym pracuję do pierwszych czynności projektowych należy zaprojektowanie widoków (szablonów stron) w których wpisuję takie divy: <div id="NazwaModułu_NazwaBoxu"></div>. Z tego wynika, że każdy moduł do komunikacji z użytkownikiem wymaga istnienia w szablonie divów przeznaczonych wyłącznie dla niego.

Jak mam już utworzone takie widoki (np. index, logowanie, artykul, itp.) to uruchamiam obiekt actioncontrollera, w którym w "case" mam ujęte wszystkie zaprojektowane widoki. Dla każdego widoku uruchamiam obiekty rdzenia aplikacji (viewcontroller, session) plus dodatkowe obiekty wymagane przez dany widok.

Uruchomione moduły "odpytują" viewcontroller o swoje "boxy" (divy w szablonach) do których będą wysyłały wyniki swoich działań.

Actioncontroller uruchamiający wszystkie moduły wywołuje dla każdego z nich ich własną metodę ActionListener do której przekazuje po kolei wszystkie "polecenia" przekazane w adresie url. Każdy moduł ma możliwość wykonania określonego polecenia np. mamy do wykonania akcję "login" i jeżeli moduł musi wykonać jakieś operacje podczas logowania to wystarczy umieścić w jego metodzie ActionListener kod obsługujący to zdarzenie.

Po tym jak wszystkie moduły obsłużą swoje zdarzenia zostaje uruchomiona metoda viewcontrollera wysyłająca stronę do przeglądarki klienta.

Framework używa oczywiście urli typu:
http://www.mojastrona.pl/widok/akcja
http://www.mojastrona.pl/akcja
http://www.mojastrona.pl/widok/akcja,param...1,param2,param3

cokolwiek nie wpiszecie po http://www.mojastrona.pl/... aplikacja będzie działać. Po prostu zaimplementowałem wybór domyślnego widoku jak i akcji.

To wszystko. Napiszcie proszę co o tym sądzicie i czy warto nadal to rozwijać.

Pozdrawiam wszystkich serdecznie.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
karmer
post
Post #2





Grupa: Zarejestrowani
Postów: 23
Pomógł: 2
Dołączył: 3.09.2008
Skąd: Kętrzyn

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


Mam kilka szablonów głównych.
- index
- artykul
- profil_uzytkownika
- galeria_zdjęć

Przykład - szablon artykuł. W nim są boxy o nazwach:
artykul_tytul, artykul_zawartosc, artykul_komentarze, artykul_autor, artykul_data
menu_glowne, menu_pomocnicze, reklama_box1, reklama_box2, logo_grafika, logo_nazwa, session_loginform, session_ktozalogowany.

widać z powyższego, że na pewno będą uruchomione moduły: artykul, menu, reklama, logo, session
Każdy z nich 'otrzyma dostęp' tylko do swoich boxów w których będą umieszczać swój content. Każdy z nich będzie mógł 'obsłużyć' każde zdarzenie przekazane w adresie url.

Wracając do generowania zawartości. Poniżej przykład:
przykładowo mam adres http://.../artykul/pokaz,moja_pierwsza_strona
metoda: pokaz
parametr: moja_pierwsza_strona
Moduł wykonując metodę 'pokaz' wypisuje informacje do poszczególnych boxów, zgodnie z nazwą (lub tam gdzie projektant sobie życzy) - to dzieje się wewnątrz modułu.

przykładowo mam adres http://.../artykul/wstaw
metoda: wstaw
parametr: brak
Moduł wykonując metodę 'wstaw' wypisuje kod formularza (do pisania nowego artykulu) do boxu 'artykul_zawartosc'. Ewentualne inne inforamcje w/g uznania programisty do innych boxów. Ale tylko tych, które zostały dla niego wydzierżawione przez viewcontroller.

Moduły nie korzystają z własnych szablonów a generują content na 'gorąco'. Oczywiście można to oprogramować inaczej.

Pracuję nad tym aby moduły otrzymywały informację o tym jakiego typu przeglądarką dysponuje użytkownik (graficzna, tekstowa, czy wyświetlacz breaila) - wychodzę z takiego założenia, że to same moduły 'mają wiedzieć' jak zaprezentować swoje dane w danego typu przeglądarce aby przekazywały najlepiej informację.

Pozdrawiam.

Ten post edytował karmer 10.11.2008, 23:04:34
Go to the top of the page
+Quote Post

Posty w temacie


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:33