Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [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
ayeo
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

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


Witaj!

Nie jestem pewien czy dobrze rozumiem. Masz jeden wspólny szablon dla wszystkich modułów? Każdy moduł zwykle ma kilka swoich szablonów. Na przykład moduł artykuł masz szablony do dodawania, edycji, wyświetlania listy itd. Oczywiście masz jeden szablon główny do którego wstawiasz już konkretny kontent czyli te szablony z modułów. Nie rozumiem Twojego podejścia, ale może coś źle zrozumiałem.

Pozdrawiam!
Go to the top of the page
+Quote Post
karmer
post
Post #3





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
marcio
post
Post #4





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

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


Moze pokaz lepiej jakies urywki kodu albo pokaz strone postawiona na tym framework'u.
Go to the top of the page
+Quote Post
karmer
post
Post #5





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

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


Wczoraj wykupiłem hosting. Niedługo umieszczę stronę na serwerze.
Go to the top of the page
+Quote Post
marcio
post
Post #6





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

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


No to czekamy tez na zrodlo framework'a bo tak to nie ma co oceniac.
Go to the top of the page
+Quote Post
bim2
post
Post #7





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 152
Dołączył: 9.04.2006
Skąd: Berlin

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


Chyba bardziej pasuje to do działu ocena.

bez przjrzenia kodu nic się nie da powiedzieć, ale głównie frameworka pisze się, aby szybciej pisać aplikację. jak napiszesz na tym 20 serwisów różnej maści, 3 razy zmienisz koncepcję to może już ta 4 będzie niezłą koncepcją. (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Ja jestem już przy piątek koncepcji, a ciągle coś zmieniam, dodaje żeby mi było szybciej.
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.08.2025 - 19:41