![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 16.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
Zaczynam po woli myśleć o mojej pracy dyplomowej. Będę pisał CMS taki ogólno-tematyczny al'a PHP-Fusion. Na razie jestem na etapie planowania.
I zastanawiam się jakiego systemu szablonów użyć. Chciałbym coś lekkiego, ale jednocześnie żeby obsługiwało instrukcje warunkowe i pętle. -Smarty jak każdy wie jest bardzo ociężałe tak więc raczej odpada. -Open Power Templates lepiej, ale też jest tak mocno rozbudowane, że nie wykorzystam większości jego dobrodzejstw, wiec też raczej odpada. -bTemplate - całkiem przyjemnie prezentuje się, ale ten projekt nie jest już rozwijany od 2003roku więc pewnie troszkę przestarzały kod. Ciekaw jestem jak z wydajnością? -FreeTemplate - Przestarzałe... Czekam na Wasze opinie i wskazówki (IMG:style_emoticons/default/winksmiley.jpg) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 952 Pomógł: 154 Dołączył: 20.01.2007 Skąd: /dev/oracle Ostrzeżenie: (0%) ![]() ![]() |
wookieb -> a sprawdzałeś to doświadczalnie? Bo ja tak (IMG:style_emoticons/default/smile.gif) . I sprawa z wydajnością wygląda tak, że 99,9% systemów szablonów także kompiluje szablon do postaci kodu PHP, więc jedyne pytanie brzmi, kto zrobi to lepiej: człowiek czy automat.
1. Człowiek musi jakoś dbać o czytelność kodu, automat nie musi, więc może stosować wydajniejsze konstrukcje. 2. W czystym PHP trzeba wszystko obliczać w czasie wykonywania, kompilator może część rzeczy obliczyć na etapie kompilacji i zaoferować to samo, generując dużo prostszy kod. 3. Kod wielu rozwiązań bazujących na helperach (które przy okazji trzeba przygotowywać w nienaturalny zupełnie sposób, klepiąc kod PHP, zamiast pracować z normalnym HTML-em) jest naprawdę złożonych i wymagających obliczeniowo: rendering formularzy, rendering drzewek w Zend Framework... taki placeholderLoop żeby mieć współdzieloną treść pętli, za każdą iteracją tworzy i inicjuje nowy, ogromny obiekt widoku i robi include... jak pętla ma 100 elementów, można sobie odpowiedzieć, co się dzieje. W OPT przy analogicznej funkcjonalności otrzymujemy prostą pętlę i tyle. A że nie wszystkie systemy szablonów z tego korzystają, to już inna sprawa. Front-end OPT nie różni się wielkością i funkcjonalnością od typowych klas do tego samego celu stosowanych we frameworkach. Najobszerniejsza część to kompilator, który jest ładowany tylko gdy jakiś szablon jest modyfikowany, czyli w praktyce jedynie na etapie tworzenia. nowy_pehapowiec -> to pokaż, jak Ty byś to przy pomocy PHP zapisał, by było czytelnie. Według mnie powiedzenie: "oddzielaj mi słowa przecinkiem", czyli dodanie jednego atrybutu jest dużo przyjemniejsze od klepania całego algorytmu do odpowiedniego przefiltrowania tych danych. Oto wersja bez oddzielania przecinkiem: Kod <p class="tags"><opt:section="tags"><a parse:href="$tag.url">{$tag.name}</a></opt:section></p> Apel: jak ktoś mówi o czytelności, to niech pokaże przykład i opisze go krótko, co się tam dzieje i dlaczego według niego jest on czytelny. Inaczej to się można przerzucać jak dzieci w piaskownicy "mój jest czytelniejszy - gupi jesteś, mój jest!" A ja w takiej pseudodyskusji udziału nie mam ochoty brać i puste słowa będę zwyczajnie olewać. Ten post edytował Zyx 24.04.2010, 08:37:23 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 12.10.2025 - 18:08 |