Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

3 Stron V   1 2 3 >  
Reply to this topicStart new topic
> Własny zaawansowany system templatów, Od czego zacząć tworząc własny system templaków.
deirathe
post 28.06.2007, 20:16:43
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?


--------------------
Kawałek mojego blogu
Everything should be as simple as possible but not simpler.
A Einstein
Go to the top of the page
+Quote Post
sticker
post 28.06.2007, 20:21:52
Post #2





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

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


Myśle że chyba sie mylisz że każdy ma ochote napisać swój system temlatów, np.: ja nie mam bo na rynku są dostępne bardzo przyjemne i gotowe systemy (korzystam z xslt) i wiec szkoda czasu na budowę własnego,co więcej programowanie dąży do budowy całych systemów z klocków i po co pisać ponownie jakiś klocek jak już go mamy? (jednyną rozsądną myślą przemawiającą za to jest zwiększenie wydajności renderowania frontu)


--------------------
Go to the top of the page
+Quote Post
deirathe
post 28.06.2007, 20:28:30
Post #3





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

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


No i właśnie wracając do klocków to nie zawsze każdy system templaków pasuje do tego co mamy bądź też chcemy wykonać. Smarty- wolny i cachuje pliki- po co to nie wiem? patTemplate- średnio się sprawdza, PHPtal- choć miły to nie każdy ma ochotę się męczyć żeby go zrozumieć, itp... Prosiłbym o jakieś propozycję chociaż o co się zaczepić itd...
p.s. Google mam i używam dobrze się spisuje tongue.gif


--------------------
Kawałek mojego blogu
Everything should be as simple as possible but not simpler.
A Einstein
Go to the top of the page
+Quote Post
sticker
post 28.06.2007, 20:32:26
Post #4





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

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


tak jak pisze XSL wspierany przez w3c super system nie potrzeba dodatkowych parserów bo wszystko jest co potrzeba w funkcjach php, nie wiem jak u niego z szybkością renderowania ale zakładając ze bazuje na libkach napisanych w c to pewnie bardzo szybki, jednyny mantkament to koniecznosc budowy dokumentu xml na podstawie ktorego parsuje sie stronę


--------------------
Go to the top of the page
+Quote Post
deirathe
post 28.06.2007, 20:36:06
Post #5





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

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


A korzystasz z foo? czy jakiś inny bo ja na xsl to tak średnio się znam.


--------------------
Kawałek mojego blogu
Everything should be as simple as possible but not simpler.
A Einstein
Go to the top of the page
+Quote Post
sticker
post 28.06.2007, 20:43:03
Post #6





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

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


nie korzystam z niczego co jest z poza biblioteki php smile.gif mam tylko to opakowane w klase i wsio


--------------------
Go to the top of the page
+Quote Post
deirathe
post 28.06.2007, 20:45:38
Post #7





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

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


hmmm... nie chciałem zaśmiecać tego posta, ale z tego co mi się wydaję xsl to style do xml-a, albo czegoś nie rozumiem, możesz wytłumaczyć?


--------------------
Kawałek mojego blogu
Everything should be as simple as possible but not simpler.
A Einstein
Go to the top of the page
+Quote Post
sticker
post 28.06.2007, 20:47:55
Post #8





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

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


xsl to język do formatowania dokumentów zgodnych z xml, jako że xhtml jest zgodny to również można wykonać przetwarzanie do xhtmla
http://www.w3schools.com/xsl/ zobacz tutka do szybko zrozumiesz ocb smile.gif


--------------------
Go to the top of the page
+Quote Post
PiratNowegoPokol...
post 28.06.2007, 21:09:42
Post #9





Grupa: Zarejestrowani
Postów: 132
Pomógł: 0
Dołączył: 12.10.2006

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


Cytat(sticker @ 28.06.2007, 21:47:55 ) *
xsl to język do formatowania dokumentów zgodnych z xml, jako że xhtml jest zgodny to również można wykonać przetwarzanie do xhtmla
http://www.w3schools.com/xsl/ zobacz tutka do szybko zrozumiesz ocb smile.gif

znaczy się to co generuje twój skrypt jest w przypadku każdej templatki jest niezmienne ? tylko gdy chcesz templatke zmienić to zmieniasz jeden fragment który mówi którego pliku XSL ma użyć ... o to w tym chodzi ?
Go to the top of the page
+Quote Post
deirathe
post 28.06.2007, 21:15:47
Post #10





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

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


W xsl chodzi o to że za każdym razem musisz sam tworzyć nowy szablon- takie miniprogramowanie... i plikami które podajesz do xsl muszą być pliki xml


--------------------
Kawałek mojego blogu
Everything should be as simple as possible but not simpler.
A Einstein
Go to the top of the page
+Quote Post
cicik
post 28.06.2007, 21:38:36
Post #11





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

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


Najlepszą rzeczą do budowania szablonów w skryptach PHP jest... PHP


--------------------
CMS dla Twojej firmy
Wojciech Małota
Go to the top of the page
+Quote Post
PiratNowegoPokol...
post 28.06.2007, 22:06:29
Post #12





Grupa: Zarejestrowani
Postów: 132
Pomógł: 0
Dołączył: 12.10.2006

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


właściwie ... to też tak uważam... przynajmniej narazie
Takie rozwiązanie daje duże możliwości. A jak by to dobrze zrobić to można osiągnąć to samo ... czyli oddzielić warstwę logiczną aplikacji od layoutu ...

Ten kto będzie tworzył taką templatke i tak musi mieć napisane co ma wpisać aby na przykład wpisać tu tytuł strony albo powtórzyć pewien blok...
Go to the top of the page
+Quote Post
cicik
post 28.06.2007, 23:10:23
Post #13





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

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


Cytat(PiratNowegoPokolenia @ 28.06.2007, 23:06:29 ) *
A jak by to dobrze zrobić to można osiągnąć to samo ... czyli oddzielić warstwę logiczną aplikacji od layoutu ...


Jest dokładnie odwrotnie. Dobrze napisany system szablonów ma szansę osiągnąć to co daje PHP.
Systemy szablonów w efekcie dają kod PHP więc na pewno nie mają większych możliwości od samego PHP.
Używając PHP jako systemu szablonów trzeba jedynie się pilnować żeby używać go tam TYLKO do tworzenia szablonu. Tonie jest trudne. Za to przyspiesza sporo aplikacje.

Używanie systemu szbalonów innego od PHP przypomina mi trochę taki kod:

  1. <?php
  2. echo a();
  3.  
  4. function a() {
  5. return b();
  6. }
  7.  
  8. function b() {
  9. return c();
  10. }
  11.  
  12. function c() {
  13. return d();
  14. }
  15.  
  16. function d() {
  17. return "głupi sposób pisania programu";
  18. }
  19. ?>


Niby można. Tylko po co?


--------------------
CMS dla Twojej firmy
Wojciech Małota
Go to the top of the page
+Quote Post
deirathe
post 29.06.2007, 06:50:00
Post #14





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

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


Wszyscy wiemy że system templaków szablonów ma odzielać warstwę logiczną od kodu, teraz kwestia jest takaa od czego zacząć tworząc system szablonów? Gdzieś tu na forum miałem początek systemu, zmieniał tekst zawarty pomiędzy tagami
  1. <template>tekst</template>
na zmienna o nazwie tekst. Tylko jak wygenerować pętle chciałbym aby w pliku tpl wyglądało to tak
  1. <template action="loop" index="a" [step="int" [start="int" [max="int"]]]><template var="zmiennadopetli[a]"/></template>
.
Jakieś pomysły jak napisać funkcje w systemie szablonów żeby na podstawie tego generował pętle?
P.S. to w nawias kwadratowych oznacza opcje- może być ale nie musi

Ten post edytował deirathe 29.06.2007, 06:52:30


--------------------
Kawałek mojego blogu
Everything should be as simple as possible but not simpler.
A Einstein
Go to the top of the page
+Quote Post
Strzałek
post 29.06.2007, 11:26:52
Post #15





Grupa: Przyjaciele php.pl
Postów: 384
Pomógł: 6
Dołączył: 11.09.2004
Skąd: Grodzisk Mazowiecki

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


Od czego zacząć? Najlepiej nie zaczynać winksmiley.jpg Chyba że jest się w stanie napisać coś szybszego od smartów, bo smarty akurat nie są wolne.

Ja używałem kiedyś smartów, ale ostanio uywam tylko natywnych szablonów w php. Żeby to zaimplementować Wystarczy kilka linijek. Na algorytmach kiedyś wrzuciłem taką klasę.

Czegoś szybszego nie da się od tego napisać snitch.gif


--------------------
Go to the top of the page
+Quote Post
cicik
post 29.06.2007, 12:12:20
Post #16





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

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


Cytat(Strzałek @ 29.06.2007, 12:26:52 ) *
Od czego zacząć? Najlepiej nie zaczynać winksmiley.jpg


Wreszcie ktoś mnie rozumie.
Moja klasa do szablonów w PHP ma może 20 linijek.


--------------------
CMS dla Twojej firmy
Wojciech Małota
Go to the top of the page
+Quote Post
deirathe
post 29.06.2007, 13:22:54
Post #17





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

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


Cytat(Strzałek @ 29.06.2007, 12:26:52 ) *
Czegoś szybszego nie da się od tego napisać snitch.gif

Smarty są tak szybkie jak ja jestem księdzem... już samo to że potrzebują osobnego folderu do kompilacji templakow przemawia za tym ze nie operuja tylko na pliku tpl jaki stworzysz ale w dodatku na plikach ktore sam sobie stworzy, a tak btw smarty zaczyna bardziej juz przypominac jezyk programowania niz system szablonow, a to kolejny powod dla ktorego ludzie sie zniechecaja, a jak pracujesz w jakiejs firmie i zajmujesz sie tylko programowaniem i mowisz do webmastera tu masz smarty zrob to na smarty to on na Ciebie spojrzy i sie skrzywi bo nie ma czasu sie czegos takiego uczyc tylko trzeba projekt zrealizować:P


BTW

Wszystko się da:) nigdy nie mów nigdy

Ten post edytował deirathe 29.06.2007, 13:23:37


--------------------
Kawałek mojego blogu
Everything should be as simple as possible but not simpler.
A Einstein
Go to the top of the page
+Quote Post
Strzałek
post 29.06.2007, 13:27:34
Post #18





Grupa: Przyjaciele php.pl
Postów: 384
Pomógł: 6
Dołączył: 11.09.2004
Skąd: Grodzisk Mazowiecki

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


Hmm. Ktoś tutaj posiada testy porównujące prędkości systemów szablonów - smarty, opt, savant i coś tam jeszcze. Z tego co pamietam to smarty wygrywało. Ale nie będę się kłócił. Może i są najwolniejsze. Ja od jakiegoś czasu nie używam.

Smarty podchodzi pod język programowania mówisz. Ok, w takim razie co system szablonów ma robić? Smarty dają nam to że nie musimy klepać:

<?php echo $template['var']; ?> tylko możemy {$template.var} i jest to wygonde. A nauka smartów - no proszę Cię. Co tam jest do uczenia się? Jak obsłużyć zmienne, kilka funkcji oraz pętle.

Cytat
, a tak btw smarty zaczyna bardziej juz przypominac jezyk programowania niz system szablonow


  1. <template action="loop" index="a" [step="int" [start="int" [max="int"]]]><template var="zmiennadopetli[a]"/></template>


I teraz przekonaj mnie że łatwiej grafikowi będzie nauczyć się twoich tpl niż foreach/for w smartach snitch.gif


Cytat
Wszystko się da:) nigdy nie mów nigdy


Tak, tutaj mnie poniosło, zapomniałem edytować biggrin.gif


--------------------
Go to the top of the page
+Quote Post
deirathe
post 29.06.2007, 13:44:04
Post #19





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

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


tego templaka robie akurat dla siebie, a co do jego budowy to przynajmniej przypomina html-a tongue.gif z tym jezykiem programowania tez mnie troche ponioslo no nie powiem- nie gniewajmy sie na siebie :]
btw w smartach nie ma foreach tylko {section} :PPPPPPP

Ten post edytował deirathe 29.06.2007, 13:44:55


--------------------
Kawałek mojego blogu
Everything should be as simple as possible but not simpler.
A Einstein
Go to the top of the page
+Quote Post
Strzałek
post 29.06.2007, 14:52:11
Post #20





Grupa: Przyjaciele php.pl
Postów: 384
Pomógł: 6
Dołączył: 11.09.2004
Skąd: Grodzisk Mazowiecki

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


E tam. Jak to nie ma jak jest Smarty Manual :: {foreach},{foreachelse} winksmiley.jpg Zawsze używałem foreach :]

Jak już coś napiszesz, co będzie kompletne, albo będzie posiadało łatwą możliwość rozbudowy (pluginy) i będzie to jako tako działało - chętnie zobaczę.

Pozdrawiam Rkingsmiley.png


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 16.07.2025 - 20:37