![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 505 Pomógł: 0 Dołączył: 8.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam ponownie,
Biorąc pod uwagę opinie i zalecenia forumowiczów , powstała pierwsza stabilna i oficjalna wersja klasy Chameleon do obsługi szablonów. Na wstęp drobne porównanie z klasą Smarty. Test symulujący całkowite przeładowanie strony z wykorzystanie cache dyskowego. Smarty korzysta ze skompilowanych szablonów , Chameleon z mapy tagów : Smarty : 500 iteracji (20 zmiennych) = 0.3475s Smarty : 500 iteracji (10 zmiennych) = 0.3067s Smarty : 500 iteracji (5 zmiennych) = 0.2965s Chameleon : 500 iteracji (20 zmiennych) = 0.2336s Chameleon : 500 iteracji (10 zmiennych) = 0.2095s Chameleon : 500 iteracji (5 zmiennych) = 0.2105s Kolejny test symulujacy kilkakrotne parsowanie szablonu podczas jednego wywolania strony, sytuacja ma miejsce gdy parsujemy kilkakrotnie ten sam szablon (np. formatka newsa) z zaladowana mapa tagow w pamieci. Oto wyniki : Smarty : 500 powtórzeń (20 zmiennych) = 0.2462s Chameleon : 500 powtórzeń (20 zmiennych) = 0.0981s ---------------- Co potrafi Chameleon : # Cache tagow na dysku twardym # Zmienne typu : {zmienna} {test} # Zmienne tablicowe jednowymiarowe : {tablica[0]} {tablica[1]} # Zagniezdzone IFy dowolnej glebokosci z obsluga negacji oraz ELSE (Narazie warunek sprawdzany jest logicznie tylko czy zmienna jest ustawiona) # Petle szablonowe # Podswietlanie blednych tagow # Proste operacje matematyczne ----------------------------------------------------------
Przyklad 1 : Zmienne zwykle Szablon : http://www.vertis.com.pl/chameleon/example...es/example1.tpl Demo : http://www.vertis.com.pl/chameleon/example...es/example2.php --
Przyklad 3 : Zmienne tablicowe Szablon : http://www.vertis.com.pl/chameleon/example...es/example3.tpl Demo : http://www.vertis.com.pl/chameleon/example...es/example3.php --
Przyklad 6 : Warunki Szablon : http://www.vertis.com.pl/chameleon/example...es/example6.tpl Demo : http://www.vertis.com.pl/chameleon/example...es/example6.php --
Przyklad 7 : Petle w szablonie Szablon : http://www.vertis.com.pl/chameleon/example...es/example7.tpl Demo : http://www.vertis.com.pl/chameleon/example...es/example7.php -- Klasę w wersji 1.0.0 można pobrać z http://www.vertis.com.pl/ Ten post edytował Bastion 18.06.2006, 22:58:47 -------------------- /dev/blog : http://www.santyago.pl/
|
|
|
![]()
Post
#2
|
|
![]() Developer Grupa: Moderatorzy Postów: 2 844 Pomógł: 20 Dołączył: 25.11.2003 Skąd: Olkusz ![]() |
chciałbym jeszcze zobaczyc "skompilowany plik"
![]() Czy jest cos jak include? ify? |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 335 Pomógł: 0 Dołączył: 15.11.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(hwao @ 2006-02-10 08:30:40) ify? ekhm ify to chyba warunki... więc kolega podał przykład wyżej |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 505 Pomógł: 0 Dołączył: 8.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
hwao : tu sa przechowane tagi (cache) : ags/' target='_blank
jesli chodzi o includy ![]() ![]() -------------------- /dev/blog : http://www.santyago.pl/
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
hmmm, fajne
![]() Rzecz, która od razu rzuca mi się w oczy to kolorowanie zmiennych, których nie ma. W przypadku gdy szablon bedzie rozbudowany, duzo info na stronie bedzie, najzwyklej w swiecie ta informacja o niezdefiniowanych zmiennych umknie. Powinien byc jasny i wyraźny komunikat, że taka i taka zmienna nie istnieje, że taki a taki index tablicy jest nieokreślony. Tekst ten powinien sie wyswietlic albo zamiast zmiennej, albo gdzies na górze. Oczywiście mozna by ustawić, czy takie info ma sie wyswietlac. Np. wyswietlac tylko w trybie debug. (podczas tworzenia aplikacji) -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 505 Pomógł: 0 Dołączył: 8.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
nospor : Brdzo dobry pomysl. Znalazl sie juz u mnie na tapecie razem z includami
![]() -------------------- /dev/blog : http://www.santyago.pl/
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
hehe, żeby nie bylo, że to ja taki genialny. Tak jest wlasnie w smartym, którego uzyles do testow. Gdy brak zmiennej, to zamiast niej lecą warningi. Czegoś takiego nie da się nie zauwazyć
![]() ps: czasy co pokazales są bardzo obiecujące. Może wyjdzie z tego coś ciekawego ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 505 Pomógł: 0 Dołączył: 8.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
![]() np w przypadu gdy nie bedzie zmiennej przy {VAR} wyswietli sie warning a przy {?VAR} zostanie pominiety. da to fajna mozliwosc gdy ktos np nie bedzie mial ustawionego Emaila to sie pyknie w szablonie {?EMAIL} zamiast {@if(EMAIL)} {EMAIL} {@fi} Ten post edytował Bastion 10.02.2006, 10:36:52 -------------------- /dev/blog : http://www.santyago.pl/
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat da to fajna mozliwosc gdy ktos np nie bedzie mial ustawionego Emaila to sie pyknie w szablonie {?EMAIL} zamiast Akurat do tego to zly przyklad dales. Bo taka sytuacja:{@if(EMAIL)} {EMAIL} {@fi} Kod {@if(EMAIL)} Twoj email:{EMAIL} {@fi} a jesli wlaczyc tryb silent: Kod Twoj email:{?EMAIL} Przy braku ustawionej zmiennej email, tekst "Twoj email:" dalej bedzie sie wyswietlal ![]() W szablonach tryb silent do zmiennych jest zbedny. Te komunikatu o braku zmiennych są przydatne na etapie tworzenia aplikacji. Zazwyczaj dostaniesz go gdy zrobisz jakąs literowke lub cos w tym stylu. gdy juz aplikacja bedzie dzialala, to raczej same z siebie literowki w kodzie się nie będą pojawialy ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 505 Pomógł: 0 Dołączył: 8.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
moze i racja
![]() ![]() ![]() -------------------- /dev/blog : http://www.santyago.pl/
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 165 Pomógł: 6 Dołączył: 17.06.2005 Ostrzeżenie: (0%) ![]() ![]() |
Bastion: zainteresuj sie jeszcze OPT i jego mozliwosciami: opt.openpb.net
|
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 505 Pomógł: 0 Dołączył: 8.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
tzn. czym dokladnie?
-------------------- /dev/blog : http://www.santyago.pl/
|
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 740 Pomógł: 15 Dołączył: 23.08.2004 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
-------------------- bigZbig (Zbigniew Heintze) | blog.heintze.pl
|
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 505 Pomógł: 0 Dołączył: 8.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
BigZbig : znam juz ten adres - a pytalem na co konkretnie zwrocic uwage
![]() -------------------- /dev/blog : http://www.santyago.pl/
|
|
|
![]()
Post
#15
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 224 Pomógł: 40 Dołączył: 6.07.2004 Skąd: Wuppertal Ostrzeżenie: (0%) ![]() ![]() |
co do trybu silent.. w smartym jest cos takiego jak modyfikator default. uzycie
Kod {$sth|default:"asdas"} jesli $sth jes tpuste to pokaze sie 'asdas'... moze to kogos zainspiruje ![]() |
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 505 Pomógł: 0 Dołączył: 8.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
![]() ![]() ![]() -------------------- /dev/blog : http://www.santyago.pl/
|
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 740 Pomógł: 15 Dołączył: 23.08.2004 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Cytat(Bastion @ 2006-02-10 16:32:59) BigZbig : znam juz ten adres - a pytalem na co konkretnie zwrocic uwage ![]() Moze zwyczajnie zrobisz testy tak jak to uczyniles ze smarty. -------------------- bigZbig (Zbigniew Heintze) | blog.heintze.pl
|
|
|
![]()
Post
#18
|
|
![]() Grupa: Zarejestrowani Postów: 505 Pomógł: 0 Dołączył: 8.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
@bigZbig
moze powiesz mi jak zmusic by OPT tylko parsowal zamiast wyswietlac wynik parsowania ?
-------------------- /dev/blog : http://www.santyago.pl/
|
|
|
![]()
Post
#19
|
|
![]() Grupa: Zarejestrowani Postów: 740 Pomógł: 15 Dołączył: 23.08.2004 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Nie znam mozliwosci OPT wiec Ci nie powiem, ale jesli sam je odkryjesz, albo uzyskasz taka informacje od autora to sie podziel. Tymczasem moze zrobilbys inny test polegajacy na wyswietleniu okreslonych porcji danych (przy uzyciu analogicznych szablonow). Pierwsze wyswietlenie i drugie - taki maly pomiar czasu. Zrob jakies w miare proste szablony bez zaawansowanej funkcjonalnosci. Chetnie sie zapoznam z wynikami takiego testu.
-------------------- bigZbig (Zbigniew Heintze) | blog.heintze.pl
|
|
|
![]()
Post
#20
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 224 Pomógł: 40 Dołączył: 6.07.2004 Skąd: Wuppertal Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 12.06.2025 - 15:03 |