Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Pisanie modulow
Forum PHP.pl > Forum > PHP
marcio
Witam chce zaczac pisac bardziej zaawansowany cms od tego co napisalem 3 miesiace temu chce w nim zastosowac System szablonow(skromna klase kumpla) i moduly i oczywiscie poprawic sam kod.

Problem tkwi w tym ze nie wiem na czym polega zasada pisania modulow i jak maja one dzialac czy ktos molgby mi to opisac szukalem cos tam w google ale z przykladow nic nie widzialem, oprocz pisanie nowych modulow pod PHP NUKE i JOOMALE jednak nie chce sie zaglebiac w ich kod.
Zyx
Na czym polega... zależy od tego, co sobie zdefiniujesz pod pojęciem "moduł" i jak to zaimplementujesz. Na początek siądź z kartką i zastanów się, czym ma moduł być u Ciebie:
- Pojedynczy komponent CMS-a, np. system newsów.
- Dowolnie duża część serwisu, która może składać się z wielu elementów takich, jak system newsów, artykuły itd.
- Co tam jeszcze masz w zanadrzu...

W zależności od tego, co wybierzesz, musisz wymyślić, co trzeba udostępnić modułowi, aby mógł on realizować swą funkcję: możliwość podpięcia do panelu administracyjnego, dostęp do baz danych, możliwość posiadania własnej subdomeny itd. a na końcu zastanawiasz się, w jaki sposób to udostępnić i tworzysz API do robienia modułów smile.gif.
Kildyt
Jak już napisał Zyx, musisz zdecydować do czego będzie przeznaczony CMS, bo jak każdy chyba z nas wie, że jak coś jest do wszystkiego, to jest do niczego.

Jeżeli strony mają być proste, tzn. jeden moduł na jedną stronę i ewentualnie jakieś stałe moduły, to sprawa jest najprostsza. Wystarczy do jednego pliku walnąć wszystkie funkcje modułu (np. wyświetlanie newsów, komentarze), includować ten plik i sobie na nim działać. Np. pobierając dane z _GET wyświetlasz daną funkcję.

Jeżeli strona ma być rozbudowana, tzn. kilka modułów na jednej stronie to sprawa jest trudniejsza, ale nie trudna. tongue.gif Wystarczy, że zapiszesz aktualnie wyświetlaną funkcję modułu do _SESSION, a po wejściu nowy raz na stronę wykazujesz sesje.

PS Opisałem drugi sposób, ze swojego doświadczenia, ale nie jest on za dobry. Miałem problemy z "wstecz" w przeglądarkach.
MWL
Cóż, ja wczoraj przysiadłem nad podcastami Zend Frameworka i zrozumiałem bardzo wiele... Może i ty powinieneś to zrobić... Ale najpierw, przede wszystkim, przejrzyj najwięcej wzorców projektowych ile możesz. Dowiedz się o zaawansowanych technikach PHP. To ci pomoże w zbudowaniu pięknie działającej i stabilnej aplikacji, można nawet powiedzieć pseudo frameworka do pisania CMS'a. Z doświadczenia wiem że nie warto porywać się z motyką na słońce!

Cytat
pisanie nowych modulow pod PHP NUKE i JOOMALE jednak nie chce sie zaglebiac w ich kod.

Jeśli nie wiesz jak wyglądają dobrze zbudowane aplikacje (ok, to jest zły przykład, ale powiedzmy drupal) nie poradzisz sobie z napisaniem własnego zrewolucjonizowanego CMS'a. Ja też się zająłem pisaniem CMS'a, ale przepisywałem go już 4 razy. Jedno wiem na bank, ucz się od mistrzów a mistrzem zostaniesz
marcio
Cytat
Jeżeli strona ma być rozbudowana, tzn. kilka modułów na jednej stronie to sprawa jest trudniejsza, ale nie trudna.


Cytat
- Pojedynczy komponent CMS-a, np. system newsów.


Raczej chodzi mi o to co zacytowalem wyzej biggrin.gif, moj kumpel teraz pisze cms'a z modulami i w ogole kod lepiej wyglada i sam layout tez to jest jego stara praca:http://kim-jestem.ovh.org/ teraz pisze nowego dostalem od niego kod gdzie korzysta z modulow panela administracyjnego, panela logowania i jak narazie to chyba wszystko wczoraj tak na szybko zerknolem w kod i jest on ciekawy(to nie jest OOP) i mam juz idee jak to mniej wiecej napisac.

Ogolnie ma to tak dzialac ze mam CMS'a ktory ma zawsze podstawowe moduly potem sa moduly ktore mozna wlaczac/wylaczac i mozna tez pisac nowe moduly tylko nie wiem jeszcze zabardzo jak "includowac" moduly do glownej aplikacji
Pilsener
Cytat
nie wiem jeszcze zabardzo jak "includowac" moduly do glownej aplikacji
- jak najbardziej prozaicznie - masz w bazie strukturę serwisu i po kliknięciu w odpowiednią pozycję menu pobierasz z bazy takie info jak: sposób generowania meta-tagów, opis, tytuł, templaty, arkusze stylów no i informacje o załadowanych modułach. Na tej podstawie includujesz właściwe moduły. Ja np. teraz pracuję nad modułem, który nazwałem "plikownia" - po jego załadowaniu użytkownicy mogą dodawać i opisywać pliki etc. Są też moduły artykułów, nowości etc. Każdy ma własną grafikę, arkusze styli, system uprawnień, panel etc. Możesz moduły integrować bardziej lub mniej - każde podejście ma jakieś wady i zalety. Ja Ci radzę na początek skupić się na tym, aby CMS był elastyczny - żeby można było dla każdej kategorii podpiąć dowolny templat i arkusz styli - zmieniać ma się wszystko, a nie tylko środek środka z treścią, a cała reszta includowana na sztywno. Możesz też iść w taką stronę:
  1. <div id="prawa">
  2. {ZEGAR}
  3. {KALENDARZ}
  4. </div>
  5. </body>
- na początek pomyśl, jak najlepiej oddzielić silnik od HTML'a i uczynić system maksymalnie elastycznym i użytecznym.
marcio
Ok w weekend zaczne cos kodzic ogolnie chce to zrobic na plikach tpl zeby podzielic html+js od php+sql
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.