![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 215 Pomógł: 1 Dołączył: 13.04.2003 Skąd: z ławki przed blokiem Ostrzeżenie: (0%) ![]() ![]() |
witam
temat pewnie się gdzieś juz na forum pojawil, ale uzywajac wyszukiwarki, pod hasłąmi moduły, zarzadzanie itp nic ciekawego nie znalazlem zatem otwieram ten temat po raz koleiny stanolem przed napisaniem sredniej wielkosc aplikacji, tym razem dla biura nieruchomosci no i po raz kolejny stwierdziłem ze rozwiazanie z poprzedniego projektu nie za bardzo mi sie podoba i szukam czegos nowego ![]() chodzi o zarzadzanie modułami serisu, wiec tak w poprzednim projekcie robiłem tak katalog Kod ./modules w nim Kod /module_name no i dla przykładu module_name to zarzadzanie użytkownikami, no i tutaj dodawanie, usuwanie, edycja, niektore polaczene w 1 plik inne nie... dla przykladu Kod card.php /* drukowanie wizytowek */ change_parent.php /* zmiana rodzica, osobno bo troche operacji calosc oparta na drzewkach metoda depesza*/ delete_user.php /* usuwanie usera */ reg_unreg.php /* rejestracja niezarejestrowanyc (ma to sens uwiezcie na slowo;p) */ user_add.php /* dodawanie */ user_logs.php /* logi */ user_search.php /* szukaj, i tutaj ukryta edycja, przegladanie itp... */ users_money.php /* pieniadze z prowizji */ no i tak jak widac dosc spory balagan np edycje mozna by wywalic do osobnego pliku no i teraz tak sprawa z pokazaniem tego w jakims menu... no wiec tak, skrypt pobiera z bazy te moduly ktore dodane, przechowuje tam nazwe pliku, nazwe jaka ma byc wyswietlona, i ID modułu. no i pobieram z bazy wszyskie dodane moduly, sprawdzam czy user ma dostap czy nie i jak tak to pokazuje jak nie to nie pokazuje no i mniej wiecej tak wyglada pokazanie modulu:
sam chyba za bardzo nie wiem co jest tutaj napisane, i nie jestem w stanie tego jakos prosto przeniesc do nowego projektu... ;/ no i nie wiem zarzadzanie tym wydaje mi sie odrobine toporne, jak wrzuce jakis nowy modul na serwer, musze wejsc do admina dodac go do menu, itp no i teraz mysle nad jakism sprawniejszym rozwiazaniem tylko nie za bardzo wiem jak to lepiej rozwiazac moze ktos z was ma jakis pomysl, albo u Siebie macie inne rozwiazania ktore w/g z was za bardziej efektywne sorki za dluuugi topik pozrawiam |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 211 Pomógł: 3 Dołączył: 29.07.2005 Skąd: Szczebrzeszyn Ostrzeżenie: (0%) ![]() ![]() |
ja robie to w następujący sposób (sposób bardzo uproszczony):
index.php
a klasa dipatcher to w duzym skrócie coś takiego:
jak mozna wywnioskowac kazdy moduł musi dziedzczyć po abstrakcyjnej klasie Handled (w ktorej jest wymuszanie napisania metody handled_event ). moduły ładuje autoloader, do obsługi bazy danych i smarty mam statyczne nakladki opierające sie na singelthone, tak samo jak glowne klasy odpowiedzialne za usera itp. wszystko to mozna bardzo latwo obudować o dodatkowe rzeczy, jest bardzo wygodne i ogolnie cacy (przynajmniej nic lepszego nie wymyslilem ![]() Ten post edytował pawel_k 8.06.2006, 23:50:33 |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 740 Pomógł: 15 Dołączył: 23.08.2004 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
@pawel_k - stosuje podobne rozwiazanie co Ty tylko, ze to jest przepis na obsluge zdarzen, a nie na zarzadzanie modulami - przynajmniej nie pelny przepis.
-------------------- bigZbig (Zbigniew Heintze) | blog.heintze.pl
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 215 Pomógł: 1 Dołączył: 13.04.2003 Skąd: z ławki przed blokiem Ostrzeżenie: (0%) ![]() ![]() |
dokłąnie to juz sama zarzadzanie zdazeniami, a mi chodzi o zarzadzanie plikami na serwerze chociaz to tez sie przyda
![]() |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 36 Pomógł: 0 Dołączył: 29.06.2004 Skąd: Wałbrzych Ostrzeżenie: (0%) ![]() ![]() |
No to moze tak, jak rozmawialismy uklad w stylu:
moduleName.class.php - główny plik modułu. klasa go obsługujaca moduleName.data.class.php - metody klasy ktore obsługuja pobieranie danych, z bazy, $_POST, $_GET moduleName.action.php - poszczegolne akcje na moule takie jak dodaj, usun edytuj, itp... korzystaja z metod zawartych w moduleName.class.php moduleName.template.tpl - główny plik z szablonem dla modułu moduleName.action.template.tpl - szablony dla poszczegolnych akcji wywolywaniem konkretnie akcji, ładowniem odpowiedniego pliku zajmuje sie zewnetrzna klasa obsługujaca $_GET, $_POST... czy jednak za bardzo rozdrobnione.. ? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 19:24 |