To mój pierwszy post, tak więc witam wszystkich użytkowników. Pozwolę sobie przejść już do rzeczy: mam taki ambitny pomysł i chciałbym się nim podzielić z innymi. Pojawił mi się w głowie zarys skryptu PHP do obsługi forów dyskusyjnym. Wiem, że jest pełno takich rozwiązań, aczkolwiek ja chciałbym stworzyć coś innego. Oto kilka założeń:
- skrypt powinien być lekki i nie obciążać mocno serwera
- nowoczesny, oparty na klasach kod, uporządkowany tak aby był łatwo modowalny
- odseparowany HTML przy użyciu systemu szablonów (np. nasz rodzimy OPT)
- możliwość w pełni ręcznie instalacji modów, bez żadnych ostatnio modnych automatycznych skryptów php do modyfikacji bazy danych (nie wyklucza to oczywiście instalacji automatycznej)
- zastosowanie edytory WYSIWYG zamiast BBCode
- SDK do integracji z innymi systemami (ala IPB SDK)
- od strony wizualnej nowoczesne rozwiązania webmasterskie (HTML5, jQuery, AJAX)
Zastanawiałem się też czy czysta instalacja nie powinna być maksymalnie minimalna (podejście jak w Drupalu).
Jeśli jeszcze coś wymyślę to dopiszę. Pomysły innych są również mile widziane i oczywiście szukam chętnych do ewentualnego DevTeamu.
Pozdrawiam i proszę o opinie.
PS. Nie wiem czy to dobry dział, ale lepszego nie znalazłem.
Polecam użycie jakiegoś frameworka, np. Symfony 2.
Z tego co wiem to OPT rozwija się cały czas i to nieźle, ma też bardzo fajną funkcjonalność. O Twigu nie słyszałem, ale sprawdzę. A z Symfony co mogłoby się przydać ? Myślałem o własnym silniku, to nie byłoby takie trudne. Nad BBCode się jeszcze zastanowię. Dzięki za opinię.
Symfony to tzw. full-stack framework. Przyda Ci się z pewnością ORM (Doctrine), router i wiele innych funkcji:
http://symfony.com/doc/current/book/from_flat_php_to_symfony2.html
Framework nie zastąpi jednak Twojego wkładu, on tylko wykonuje za nas to, co monotonne . Tak czy inaczej skrypt będziesz pisał sam, framework tylko to ułatwi.
Nie trzeba nawet pisać, jest parę fajnych gotowych rozwiązań. Ja się ostatnio na to natknąłem: http://ckeditor.com/ Można dowolnie zarządzać funkcjonalnością i wygląda estetycznie, da się go też skomponować z każdą kolorystyką.
Znaczenie ma takie, że Markdown w zupełności wystarcza, a wpisanie znacznika jest szybsze, niż kliknięcie w edytorze (edytor oczywiście przydaje się, gdy ktoś nie zna znaczników, dlatego napisałem, żeby zostawić prosty edytor).
Osobiście używam zawsze textile + markitup (http://markitup.jaysalvat.com/home/). Z jednej strony upraszcza pisanie bo i tak masz wszystko graficznie i łatwo podpiąć ikonki. Z drugiej użytkownik za bardzo nie może nabroić a w każdej chwili może sobie zrobić podgląd posta (xhr do serwera). Ja bym się raczej zastanawiał co zrobić z grafikami. Osadzane z zewnątrz to dość niepewne źródło. Twig to tag zupa, nic ciekawego nie wnosi. Nowy OPT to już dużo lepszy pomysł. Pytanie tylko czy warto? Skryptów forów jest pełno, potrzeba ludzi do utrzymania. W jaki sposób chciałbyś wypromować bo nawet jeśli na początek masz pomysł zerowa popularność sprawi że szybko Ci się odechce. I ta niewielka garstka ludzi korzystająca z Twojego rozwiązania zostanie z niczym.
Czym się niby różni OPT od Twiga/innych, poza składnią oczywiście? A z tego co widzę, ostatnia wersja stabilna OPT to 2.0.6, wydana prawie 2 lata temu, beta zresztą też sprzed 2 lat. Pod tym względem Twig jest lepszy, bo aktywnie rozwijany.
OPT tylko nie pamiętam która wersja, czy już 3 była miał możliwość włączenia parsowania dokumentu jako XML.
@viking, chcę stworzyć kod obiektowy i przyjazny społeczności, aby mogła ona łatwo i przyjemnie tworzyć mody oraz własne dystrybucje skryptu. Filozofię łatwości modowania miało phpBB2 i zdobyło dzięki temu ogromną popularność, phpBB3 jest pod tym względem trochę upośledzone - np. modyfikacja bazy przez gotowy skrypt php (jakby ktoś nie mógł skorzystać z phpMyAdmin). Pomyślałem jeszcze o uniwersalnym interfejsie baz danych: dla każdego rodzaju bazy będzie stworzona analogiczna do innych klasa (tj. te same nazwy pól i metod oraz forma przyjmowania danych). Każda klasa będzie jednak przetwarzała dane na zapytania odpowiednie dla wybranej bazy. Dzięki temu nie będzie problemu z niezgodnością moda z bazą.
Więc po pierwsze najlepiej jeśli oprzesz na znanym i popularnym frameworku bo inaczej nikt nie będzie chciał babrać się w kodzie. Symfony korzysta z Doctrine, Zend ma własną klasę Zend_Db* do obsługi różnych adapterów. Tylko skoro o tym nie wiesz będzie Ci ciężko stworzyć dobre przemyślane i wydajne rozwiązanie. Raczej bym potraktował napisanie forum jako dobry wstęp do zaawansowanego programowania.
Ja jeszcze nie słyszałem o skrypcie forum opartym na frameworku - ani darmowym ani komercyjnym. Wg. mnie frameworki nadają się do projektów dedykowanych (np. jakiś CMS na zlecenie). Napisanie silnika nie jest wcale takie trudne, a jest świetną praktyką programowania. Jakkolwiek dzięki, że się zainteresowałeś.
PS. Co do bazy -> co sądzicie na temat PDO ?
Zend ma swoje abstrakcje na PDO, więc jedynie wiem że istnieje, ale nigdy w samym PDO nic nie robiłem. Doctrine pewnie też używa PDO.
To, że czegoś nie ma, nie znaczy, że nie można tego napisać. Istniejące obecnie skrypty to w większości projekty istniejące od wielu lat, kiedy frameworki PHP były w powijakach. Zauważ, że np. Drupal przechodzi na Symfony, nowa wersja używa komponentów Sf. Dobry framework nadaje się do wszystkiego, jest uniwersalny, bo do tego jest stworzony.
Ach, ja to sobie pozwolę skomentować: phpBB2 - wróć ! Kiedyś wszystko pisało się od zera, teraz wszędzie frameworki.
Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)