![]() |
![]() ![]() |
![]() |
![]()
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. |
|
|
![]()
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! |
|
|
![]()
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 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
Moze pokaz lepiej jakies urywki kodu albo pokaz strone postawiona na tym framework'u.
|
|
|
![]()
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.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
No to czekamy tez na zrodlo framework'a bo tak to nie ma co oceniac.
|
|
|
![]()
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. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 13:51 |