![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 116 Pomógł: 4 Dołączył: 4.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam wszystkich.
Od razu zaznaczę - sporo czytałem na temat mojego problemu zarówno na tym forum jak i po różnych wygoglowanych stronach, jednak nie znalazłem czegoś co pasuję do mojego problemu. Przyszedł moment na mój własny CMS i pojawił się znany Wam problem - pluginy i moduły. Zacznijmy od podstaw - rozumienie przeze mnie tych dwóch pojęć aby nie było nieporozumień: plugin - mała zmiana w działaniu strony jak np. dodanie możliwości komentowania profilu innej osoby na portalu lub oceniania go, kalendarz, bbcode. moduł - to coś "większego" jak np. moduł sklepu lub moduł forum. Ważne jest aby pluginy umiały się wpasować w odpowiednie miejsce tam gdzie powinny się wyświetlać - boczny panel (oczywiście możliwość ustawienia czy dajmy na to pod menu a może nad nim - wszystko to z poziomu panelu administratora) lub środek profilu użytkownika (wspomniane komentarze lub oceny). Sporo czytałem o jądrze systemu i wydaje mi się, że to właśnie w tym miejscu powinno się odbywać wczytywanie ewentualnych pluginów i modułów. Wszystko wsparte było by bazą danych w której przechowywany by był stan pluginu/modułu (zainstalowany/nie zainstalowany, włączony/wyłączony). Jakieś pomysły jak to rozwiązać? Jeśli to jakoś pomoże lub naprowadzi Was na odpowiedni tor myślenia to przedstawię zarys projektu jądra: 1. Wczytanie pliku konfiguracyjnego 2. Wczytanie ustawień z mysql 3. Język strony 4. Ewentualne pluginy, moduły 5. Wczytanie ewentualnej podstrony, treści etc. 6. Wczytanie templatu Nie mam pojęcia jak to rozwiązać dlatego zwracam się do Was. Po raz kolejny przypominam, że czytałem sporo na ten temat, ale tam wszystko rozwiązane jest obiektowo, a ja pomimo nauki jednak chyba nadal wolę strukturalny sposób. Proszę o rady (IMG:style_emoticons/default/smile.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat na to, że projektując cały serwis muszę przewidzieć i niejako zdecydować w którym miejscu dać możliwość podpinania się wtyczek. Zobacz, że w każdej aplikacji oferującej rozszerzenia/wtyczki jest tak samo - albo hooki, które są wykonywane w odpowiednich momentach, albo wstrzykiwanie kodu bezpośrednio w odpowiednie miejsca. Nie wiem na 100%, jak jest w np. w Firefoksie, ale podejrzewam, że bardzo podobnie. Cytat A nie da się tego jakoś rozwiązać w sposób bardzo automatyczny? Chcesz sobie aplikację wyklikać albo żeby sama to wymyśliła? To po co programować? Gdyby się tak dało, to wątpię, aby były rozwijane języki programowania/inżynieria tworzenia aplikacji. (IMG:style_emoticons/default/tongue.gif) Cytat Aby wtyczki w jakiś tam sposób rozpoznawały co to za część strony a nie tak jak Wy mi proponujecie (a ja to rozumiem:) No a jak sobie wyobrażasz wtyczkę, która np. dodaje Ci funkcję formatowania treści stron przez markdown? Gdzie się wepnie? Albo - na chama - wstrzyknie swój kod do rdzenia skryptu (tak jest w SimpleMachines forum), albo doda odpowiedniego hooka, który da znać wtyczkom e, panowie formatujący tekst, wystąp, jest <TO I TO> do przeparsowania, czekam na wynik, zwracam go do skryptu. O ile pierwsze rozwiązanie jest dużo wydajniejsze (nie ma konieczności odpytywania funkcji przechowującej odwołania do wtyczki), to jest bardziej problematyczne w utrzymaniu porządku i powoduje nieraz sporo konfliktów, czy uniemożliwia instalację innych wtyczek realizujących swoje funkcje w tym samym miejscu. A jak masz odpowiednie hooki, to tak, jakbyś miał firmę przewozową i chciał kilkoma usługami oznaczać paczki. (koloryzując (IMG:style_emoticons/default/tongue.gif) ) jeśli oferujesz każdemu klientowi możliwość znakowania wszystkich swoich paczek własnymi identyfikatorami, robisz dla nich miejsce przy taśmie, oni rozpoznają swoje i doklejają do przesyłki. Ale mają tam swoje miejsce - paczki będą jechały dalej nawet jeśli delikwenta nie ma. Jeśli nie masz, no to jest problem - trzeba kombinować, bo nie wiadomo, gdzie postawić tego klienta, żeby mógł swobodnie i bezpiecznie znakować swoje przesyłki. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 2.10.2025 - 00:41 |