Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Własny zaawansowany system templatów, Od czego zacząć tworząc własny system templaków.
deirathe
post
Post #1





Grupa: Zarejestrowani
Postów: 426
Pomógł: 32
Dołączył: 24.05.2007

Ostrzeżenie: (0%)
-----


Tak jak w temacie.
Na pewno każdy z was po pewnym czasie przejada się gotowcami i ma zamiar stworzyć własny system szablonów, a więc rozpocząłem topic abyśmy mogli podzielić się pomysłami, kodem i uwagami.
To tak na start pierwsz pytanie, czy lepiej przy tworzeniu systemu szablonów korzystać z DOMDocumenty czy z pregów?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
sticker
post
Post #2





Grupa: Zarejestrowani
Postów: 611
Pomógł: 19
Dołączył: 28.02.2005
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Cytat(cicik @ 28.06.2007, 20:38:36 ) *
Najlepszą rzeczą do budowania szablonów w skryptach PHP jest... PHP


takie podejście powoduje że łatwo zapomnieć jakiegokolwiek znacznika a wplatanie czegoś w nowego w szablon php moze spowodować wiele błędów, zgodnie z ideą inzynierii oprogramowania to błedy powinno sie wykrywać na wczesnym etapie tworzenia czegoś a nie w momencie kiedy coś ci wyskoczy i pozniej szukasz problemu w skrypcie i patrzeć co nie działa, poza tym jak chcesz coś zmienić na stronie musisz ingerować w kod php a przecież nie ma takiej potrzeby, moze to zrobić całkiem kto inny bez znajomości kodu i umiejętności programowania w php - to ogromna zalete systemów szablonów.
XSL wymusza od Ciebie poprawność juz w momencie tworzenia dokumentu, poza tym tak naprawde nie potrzebuje żadnego prasera bo sparsować xsl potrafi każda przeglądarka i zrobi to zawsze dobrze.
Jedyne wąskie gardło to generator xml bo to moze troszke potrwać ale to trzeba by patrzeć na testy, niestety nie potrafie tego poprzeć żadnymi testami. Czyli plus dla xsl to jest: poprawność, modularność, łatwość tworzenia (jest wiele edytorów,) oddzielenie warstwy prezentacji od warstwy biznesowej. Minus to przede wszystkim koniecznosć generacji danych wyjściowych do wyświetlanie w postaci xml.
Go to the top of the page
+Quote Post
cicik
post
Post #3





Grupa: Zarejestrowani
Postów: 219
Pomógł: 5
Dołączył: 18.07.2006
Skąd: Piekary Śląskie

Ostrzeżenie: (0%)
-----


Cytat(sticker @ 6.07.2007, 22:42:51 ) *
/... ciach .../


Mam wrażenie, że mylisz pojęcia. Ja nie mówię o tym, żeby warstwę prezentacji mieszać z logiką w PHP tylko o tym, żeby oddzielić prezentację od logiki ale żeby prezentacja również była pisana za pomocą PHP.

  1. <?php $this->tytul = $this->dzial->tytul ?>
  2.  
  3. <?php $this->dolacz('wspolne/normalny/header.php') ?>
  4.  
  5. <?php $this->jezyk = $this->langdef('dzial.aktualnosci/widok/normalny/lang.xml') ?>
  6.  
  7. <?php foreach($this->artykuly as $artykul) { ?>
  8. <a class="tytul" href="<?php echo $artykul['link'] ?>"><?php echo $artykul['tytul'] ?></a>
  9. <div class="zajawka">
  10. <?php if($artykul['zdjecie']) { ?>
  11. <img src="<?php echo $artykul['zdjecie'] ?>" alt="<?php echo $artykul['tytul'] ?>" title="<?php echo $artykul['tytul'] ?>" />
  12. <?php } ?>
  13. <?php echo $artykul['tresc'] ?>
  14. </div>
  15. <p class="date"><?php echo $this->jezyk->InformacjeWprowadzil ?> <a href="<?php echo $artykul['autor'] ?>"><?php echo $artykul['imie'] . $artykul['nick'] . $artykul['nazwisko'] ?></a> <img src="<?php echo self::$katalog ?>/images/more.gif" alt="" /> <a href="<?php echo $artykul['link'] ?>"><?php echo $this->jezyk->Wiecej ?></a> <img src="<?php echo self::$katalog ?>/images/comment.gif" alt="" /> <a href="<?php echo $artykul['komentarze'] ?>"><?php echo $this->jezyk->Komentarze ?> (<?php echo $artykul['komentarzy'] ?>)</a> <img src="<?php echo self::$katalog ?>/images/timeicon.gif" alt="" /> <?php echo $artykul['data'] ?></p><br />
  16. <?php } ?>
  17.  
  18. <?php if($this->nastepna || $this->poprzednia) { ?>
  19. <p class="srodek">
  20. <?php if($this->poprzednia) { ?>
  21. <a href="<?php echo $this->poprzednia ?>" class="wiecej"><?php echo $this->jezyk->Nowsze ?></a>
  22. <?php } ?>
  23. <?php if($this->poprzednia && $this->nastepna) {
  24. ?> <?php
  25. } ?>
  26. <?php if($this->nastepna) { ?>
  27. <a href="<?php echo $this->nastepna ?>" class="wiecej"><?php echo $this->jezyk->Starsze ?></a>
  28. <?php } ?>
  29. </p>
  30. <?php } ?>
  31.  
  32. <?php $this->dolacz('wspolne/normalny/footer.php') ?>


To jest szablon wyświetlający listę newsów na jednej z moich stron.
Czym się różni pętla foreach w php od tej w smarty. Jedynie wyglądem. Za to na pewno działa szybciej.
Smarty to również język programowania (wbrew pozorom), którego potencjalny grafk też się musi nauczyć. Nauczenie składni Smarty nie jest według mnie wcale łatwiejsze od nauczenia się podstawowych elemnentów składni PHP umożliwiających pisanie szablonów.
Go to the top of the page
+Quote Post

Posty w temacie
- deirathe   Własny zaawansowany system templatów   28.06.2007, 20:16:43
- - sticker   Myśle że chyba sie mylisz że każdy ma ochote napis...   28.06.2007, 20:21:52
- - deirathe   No i właśnie wracając do klocków to nie zawsze każ...   28.06.2007, 20:28:30
- - sticker   tak jak pisze XSL wspierany przez w3c super system...   28.06.2007, 20:32:26
- - deirathe   A korzystasz z foo? czy jakiś inny bo ja na xsl to...   28.06.2007, 20:36:06
- - sticker   nie korzystam z niczego co jest z poza biblioteki ...   28.06.2007, 20:43:03
- - deirathe   hmmm... nie chciałem zaśmiecać tego posta, ale z t...   28.06.2007, 20:45:38
- - sticker   xsl to język do formatowania dokumentów zgodnych z...   28.06.2007, 20:47:55
|- - PiratNowegoPokolenia   Cytat(sticker @ 28.06.2007, 21:47:55 ...   28.06.2007, 21:09:42
- - deirathe   W xsl chodzi o to że za każdym razem musisz sam tw...   28.06.2007, 21:15:47
- - cicik   Najlepszą rzeczą do budowania szablonów w skryptac...   28.06.2007, 21:38:36
- - PiratNowegoPokolenia   właściwie ... to też tak uważam... przynajmniej na...   28.06.2007, 22:06:29
|- - cicik   Cytat(PiratNowegoPokolenia @ 28.06.2007, 23...   28.06.2007, 23:10:23
- - deirathe   Wszyscy wiemy że system templaków szablonów m...   29.06.2007, 06:50:00
- - Strzałek   Od czego zacząć? Najlepiej nie zaczynać Chyba że ...   29.06.2007, 11:26:52
|- - cicik   Cytat(Strzałek @ 29.06.2007, 12:26:52...   29.06.2007, 12:12:20
- - deirathe   Cytat(Strzałek @ 29.06.2007, 12:26...   29.06.2007, 13:22:54
- - Strzałek   Hmm. Ktoś tutaj posiada testy porównujące prędkośc...   29.06.2007, 13:27:34
- - deirathe   tego templaka robie akurat dla siebie, a co do jeg...   29.06.2007, 13:44:04
- - Strzałek   E tam. Jak to nie ma jak jest Smarty Manual :: {fo...   29.06.2007, 14:52:11
- - deirathe   No i sorry za te foreach z pamieci pisalem nawet n...   6.07.2007, 18:38:51
- - sticker   Cytat(cicik @ 28.06.2007, 20:38:36 ) ...   6.07.2007, 21:42:51
|- - cicik   Cytat(sticker @ 6.07.2007, 22:42:51 )...   7.07.2007, 09:13:28
- - deirathe   ok, a jak z php przekazujesz wartosci na przyklad ...   6.07.2007, 22:39:54
- - deirathe   No to teraz popatrz na ten Twój kod i np na phptal...   7.07.2007, 11:17:15
- - domis86   ja glosujue za cicikiem bo lubie proste i nieskom...   7.07.2007, 12:16:11
- - abc667   cicik, nie uważasz, że jest to strasznie nieczytel...   7.07.2007, 12:56:58
- - domis86   Jak dla mnie to php jest czytelne. Tylko proponowa...   7.07.2007, 13:03:23
- - deirathe   Ja też uważam że przykład przedstawiony przez ciri...   7.07.2007, 13:58:03
- - sticker   w szablonach jakież to ograniczenia są? Co do budo...   7.07.2007, 19:49:44
|- - kosmowariat   Cytat(sticker @ 7.07.2007, 20:49:44 )...   18.07.2007, 11:06:35
- - deirathe   nie pamiętam już ale miałem jeden p...   7.07.2007, 20:20:39
- - sticker   tablice przekazaujesz za pomocą dokumentu xml ktor...   9.07.2007, 15:11:11
- - deirathe   To dużo zabawy z tym jest :/   10.07.2007, 06:22:21
|- - PiratNowegoPokolenia   Cytat(deirathe @ 10.07.2007, 07:22:21...   16.07.2007, 11:23:05
- - Moli   Jak ktoś wspomniał, szablony są po to, aby grafik ...   10.07.2007, 09:00:18
- - WebCM   Również zastanawiam się nad użyciem...   18.07.2007, 21:19:38
- - deirathe   Ja się teraz zająłem phptal ale napotkałem kilka t...   18.07.2007, 21:36:58
|- - kosmowariat   Cytat(deirathe @ 18.07.2007, 22:36:58...   18.07.2007, 22:10:45
- - deirathe   Zwracam honor. Polskie znaki są ale tylko w u...   18.07.2007, 22:16:28
- - Joachim Peters   Napisałem kiedyś system szablonów, operujący na sk...   19.07.2007, 07:57:04
- - deirathe   Ten system to nic specjalnego najprostsze podmieni...   22.07.2007, 10:59:45
- - Teamon   Pozwolę sobie dorzucić trzy grosze. Obecnie w apl...   22.07.2007, 22:41:49
- - kosmowariat   całkiem nieźle to wygląda w symfony (wniosek po pr...   22.07.2007, 23:12:14
- - deirathe   Smarty jest ble :/ zobaczcie sobie na phptal, jest...   23.07.2007, 07:08:12
- - Joachim Peters   Zastanawiam się czy nie lepszym rozwiązaniem zamia...   3.08.2007, 14:58:40
- - drbane   Witam. Wszystko zalezy kto ile ma czasu i zasobow....   3.08.2007, 16:13:41


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 2.10.2025 - 22:31