[php]Jak zrozumieć phpbb

0

Witam!
Piszę taki mały portal i chciałbym poznać odpowiedzi na kilka pytań - nie proszę o gotowce tylko o wyjaśnienie paru spraw myślę ze dojście samemu do tego bedzie lepsze.
1)Próbuję rozszyfrować system przekazywania zmiennych i stałych w phpbb pomiędzy skryptami, ale nie mogę znaleźć nic co byloby za to odpowiedzialne. Jak to się dzieje? Jeżeli na zasadzie sesji to gdzie znajdują się kody tych funkcji? To mój podstawowy problem wiec szczególnie proszę o jego wyjaśnienie.
2)Gdzie w phpbb znajdują się kody dotyczące wyciągania wartości z mysqla? Chodzi mi tu o wyciągnięcie wartości rekordu i przyporządkowanie poszczególnym zmiennym wartości poszczególnych pól. Jest to potrzebne kiedy chce się użyć *.tpl w projekcie. Na jakiej zasadzie to działa?

0

Masz tam taki katalog includes i db. Sa pliki sessions (obsluga sesji - ale bez session_start. Sami generuja - podobnie jak na forum 4programmers) i pliki do obslugi baz. Tam masz zapytania.

0

ok dzięki :) jeszcze raz przejrze całość i moze wyciagne jakies wnioski, gdybym miał jakies bardziej uścislone problemy to jeszcze tutaj zajrze.

0

Swoją drogą nie polecałbym phpBB jako wzoru pisania portali. Chyba, że chcesz nauczyć się, jak się NIE POWINNO pisać...

0

Więc co polecasz? Moim celem jest stworzenie strony na której będą publikowane artykuły zgrupowane w różnych kategoriach (na podstawie phpbb moją wizją były kategorie jako "fora" a artykuły jako "tematy") oraz stworzenie albumu zdjęć na stronie. W zasadzie nie potrzebuję logowania się do strony jako użytkownik (może dorobię to w przyszłości). Ważną sprawą będzie wygląd stron więc zamierzam <ort>uŻyć </ort>plików *.tpl. Może masz jakieś wzorce, które pozwolą mi to zrealizować.

0

No to do tego nie ma sensu porywać się na phpBB. Wiem z własnego doświadczenia i opinii wielu znajomych, które to potwierdzają, że phpBB ma cholernie nieprzejrzysty kod, jest wyjątkowo nieoptymalny i do tego jego standardowa wersja nie spełnia żadnych standardów W3C. Kwestia serwisu z artykułami i galerią zdjęć oraz szablonem styli to jest leciutki projekt, phpBB ma multum absolutnie niepotrzebnych do tego narzędzi.
//dopiszę się tu - również odradzam phpBB - Marooned

Czy jest coś gotowego, co polecam?

Jak już koniecznie chcesz użyć systemu template'ów to skorzystaj chyba ze Smarty (najbardziej popularny), chociaż osobiście użyłbym (jak to możliwe) XSLT.

Jeśli chodzi o same artykuły w kategoriach, to prosta relacyjna baza danych z 2-3 tabelek (ta trzecia na komentarze, jeśli takowych potrzebujesz), do tego skrypt do pisania i wyświetlania - bez obsługi logowania i zaawansowanych zabezpieczeń czy funkcji wystarczą na to 2-3 godzinki dobrego kodzenia.

Jeśli chodzi o galerię zdjęć, to w sieci są tysiące takich skryptów, swego czasu był organizowany na 4p konkurs na taką galerię, możesz przyjrzeć się pracy zwycięskiej.

Pozostaje te trzy idee ładnie połączyć w całość, ujednolicić design i masz.

0

eh.. popieram przedmówce, przerobienie gotowego systemu bedzie cie kosztowało wiecej pracy niz napisanie takiego czegoś od podstaw..

a system templatów bardzo fajny masz w którymś ze starych kojotów, sam go uzywam :)

marooned: moze i racja, ale tego 'nowego' jakos nie udało mi sie przystosowac do pracy bez reszty systemu.. ale w sumie to moja wina a nie systemu szablonów..

0

Dzieki za sugestie postaram się chyba napisać to od początku nie korzystając z rozwiązań wykorzystanych w gotowcach takich jak phpbb.

0
Kooba napisał(a)

a system templatów bardzo fajny masz w którymś ze starych kojotów, sam go uzywam :)
Czemu ze starych? W nowszym jest sporo dobrych poprawek.
http://cvs.4programmers.net/cgi-bin/cvsweb/coyote/include/template.php

0

Nie odbierzcie tego, że uważam, że system szablonów w Coyote jest zły. Ale nie sądzę, by nauka wykorzystywania go przyniosła wymierne korzyści, jeśli się nie pisze czegoś samemu. Większość ofert pracy, w których wymogiem albo dobrze widzianą cechą jest znajomość jakiegoś systemu szablonów wskazuje na Smarty, a w przyszłości wróżę przerzucenie się rynku na rzecz XSLT. Jak się człowiek nauczy pisać strony w poprawnym XHTML, to stworzenie szablonu w XSLT nie jest skomplikowane, za to ma dużo większe możliwości od przeciętnego systemu tpl'i i do tego prowadzi do oszczędności czasu i transferu, gdyż parsery XSLT są prekompilowane, a nie napisane w PHP, zaś jeśli przesyła się XML i XSLT to oszczędza się na transferze. Nie wspominając tu o fakcie, że XSLT jest dokładnie ustandaryzowany i wspierany przez W3C.

0
Adam.Pilorz napisał(a)

Nie odbierzcie tego, że uważam, że system szablonów w Coyote jest zły.

Uargumentuj.

Większość ofert pracy, w których wymogiem albo dobrze widzianą cechą jest znajomość jakiegoś systemu szablonów wskazuje na Smarty, a w przyszłości wróżę przerzucenie się rynku na rzecz XSLT.

Akurat tutaj masz pewną rację - XSLT staje się coraz popularniejszy. Niedawno powstał np. system blogowy, w którym szablony są oparte o XSL. Tyle, że należałoby sprawdzić kwestię wydajności. Nie wiem czy Template z Coyote czy Smarty nie będą szybsze w porównaniu do XSLT - jeśli dokonywać bedziemy transformacji na serwerze.

Marooned, system starszy (ja używałem takiego z Coyote pewnie gdzieś w okolicach 0.9.1) jest prostszy :)

U_kasz, z gotowców jak najbardziej należy korzystać - ale niekoniecznie phpBB, które nie jest przykładem wzorcowo napisanej aplikacji PHP.

0

Uargumentuj
Nie ma czego argumentować. Po prostu nie uważam systemu tpl z Coyote za zły. No chyba, że chcesz, żebym argumentował, co jest w nim dobrego, ale komu jak komu, ale Tobie chyba nie muszę mówić :)

Co do szybkości XSLT - myślę, że jest szybsze. Dlaczego? Już kiedyś tłumaczyłem różnicę pomiędzy prostym skryptem w PHP a bardziej (teoretycznie) wymagającym wyrażeniem perl'a. Tu jest ta sama sytuacja - parser XSLT jest skompilowany, parser tpl jest interpretowany podczas działania. Różnica jest znacząca. Szczególnie, że coraz częściej wsparcie dla XML jest budowane coraz niżej, prawdopodobnie za jakiś czas będzie można się spodziewać wsparcia dla XML na poziomie systemu, a to dlatego, że jest cholernie uniwersalny i coraz szerzej stosowany. Nie chcę skłamać, ale mam wrażenie, że w .NET już są wbudowane funkcje operujące na XML.

A co do gotowców - nie odradzam korzystania z gotowców, ale przerabianie phpBB na prosty system portalowy to trochę nie w tą stronę :)

0

Nie chcę zakładać nowego topic'a wiec zadam jeszcze jedno pytanie:
Przejrzałem dokumentację i pare samouczków XML, XSL i XSLT. Dzięki temu już kompletnie niewiem jak się do tego zabrac :/ . W phpBB była prosta funkcja która po wskazaniu na tpl wyszukiwała bloki zmiennych a następnie przypisywała im wartości. Jeden plik był index.php a drugi index.tpl. Teraz chcąc zabrać się do napisania tego zgodnie ze standardami W3C zastanawiam się jak mają wyglądać te pliki: jak ma wyglądać ten index.php czy mam tam wykorzystać funkcje na XML, XSL, XSLT które są wymienione w manualu php, jak ma wyglądać ten index.tpl a może index.xml i gdzie tu w ogóle jest miejsce na te stylesheet'y XSL? Czy żeby to wszystko hulało tak jak trzeba to musze doinstalować jakiś dodatkowy parser czy wystarczy mi tylko interpretacja php? Jeżeli ktoś zrozumiał o co chodzi to niech to w jakiś przystępny sposób mi to wytłumaczy.

0

Wg mnie na pierwszy projekt wybierz taki parser w php - XSLT zostaw sobie na później...

0

Nie będę ani potwierdzał ani negował zdania Marooned'a. To Twoja decyzja, za co się zabierzesz IMHO. Możesz popróbować ze zwykłymi szablonami, a możesz zacząć od nauki XSLT.

Jeśli chodzi o to, jak to działa, to zasada jest trochę inna. Sam skrypt PHP generuje dokument XML zawierający wszystkie potrzebne dane, zaś XSLT odpowiada za przekształcenie go do XHTML. Możesz to zrobić albo po stronie serwera (jak masz taką możliwość to masz farta i możesz się w to bawić) albo wysłać klientowi XML z linkiem do XSLT (polecane, jeśli klient radzi sobie z XSLT, odpada jednak w aktualnej wersji Opery - nie liczę tu Opery 9 beta), aby sam sobie przekształcił. Oszczędzisz serwerowi pracy, a do tego zaoszczędzisz na łączu, jeśli tylko klient wejdzie na Twoją stronę więcej niż 2 czy 3 razy (a czasem nawet już za pierwszym wejściem, zależy od organizacji strony i prezentowanych danych).

1 użytkowników online, w tym zalogowanych: 0, gości: 1