![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 505 Pomógł: 0 Dołączył: 8.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
szablon : http://www.jarzebski.pl/001/test.tpl
http://www.jarzebski.pl/001/test_chameleon.php http://www.jarzebski.pl/001/test_debugger.php źródła jako *.txt http://www.jarzebski.pl/001/ -------------------- /dev/blog : http://www.santyago.pl/
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 224 Pomógł: 40 Dołączył: 6.07.2004 Skąd: Wuppertal Ostrzeżenie: (0%) ![]() ![]() |
no ok, a jakis for ? foreach? jak wyswietlic dane w petli ?
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 505 Pomógł: 0 Dołączył: 8.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
nie rozumiem ?
![]() -------------------- /dev/blog : http://www.santyago.pl/
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 224 Pomógł: 40 Dołączył: 6.07.2004 Skąd: Wuppertal Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 505 Pomógł: 0 Dołączył: 8.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
![]() ![]() -------------------- /dev/blog : http://www.santyago.pl/
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 165 Pomógł: 6 Dołączył: 17.06.2005 Ostrzeżenie: (0%) ![]() ![]() |
A ify?
BTW. Funkcje matematyczne, taki bajerek, ale watpie zeby ktos z tego korzystal. Ten post edytował Diablos 5.02.2006, 14:18:16 |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 505 Pomógł: 0 Dołączył: 8.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
Ify tez beda
![]() -------------------- /dev/blog : http://www.santyago.pl/
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 224 Pomógł: 40 Dołączył: 6.07.2004 Skąd: Wuppertal Ostrzeżenie: (0%) ![]() ![]() |
Bastion, bez pętli to raczej nie ma szans na przetrwanie. do tego fajnie gdyby dalo sie zdefiniowac lewy i prawy 'zamykacz' na swoje. do tego jeszcze jedno pytanie. jak odwolac sie do np:
robie assign do szablonu, i chce odwolac sie do $asd[0]; w jaki sposob to robie? tak ? Kod {asd[0]} ? btw. chyba wole smarty ![]() |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 406 Pomógł: 9 Dołączył: 24.07.2005 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
hmmm nie ma wielu przydatnych funckji... ja jednak również wolę smarty
![]() |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 505 Pomógł: 0 Dołączył: 8.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
@ActivePlayer : dodano obsluge tablic :
http://www.jarzebski.pl/001/test_chameleon.php http://www.jarzebski.pl/001/test.tpl Kod <php require_once('debugger.inc.php'); require_once('chameleon.inc.php'); $template = new Chameleon(); $template->loadTemplate('test.tpl'); $template->setVar('zmiennaA', 10); $template->setVar('zmiennaB', 40); $el[0] = 'mama'; $el[1] = 'tata'; $template->setVar('elements', $el); print $template->parseTemplate(); ?> odwoluje sie tak : {elements[0]} jesli tablica istnieje a klucz tylko nie to na czerwono sygnalizuje klucz. Teraz czas na ify i petle ![]() ![]() ---------------------------- @vieri: a moglbys rozwinac ![]() ---------------------------- @diablos : Ja widze, np : Kod <table width="{image_width+20}" height="{image_height+20}">
<tr> <td align="center" valign="middle"> {image} </td> </tr> </table> Ten post edytował Bastion 5.02.2006, 16:23:49 -------------------- /dev/blog : http://www.santyago.pl/
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 406 Pomógł: 9 Dołączył: 24.07.2005 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
1.
Jest ekstremalnie szybki. 2. Jest efektywny odkąd parser php przejął "brudną robotę". 3. Nie parsuje szablonu za każdym razem, tylko raz kompiluje. 4. Rekompiluje tylko te szablony które się zmieniły. 5. Język szablonów jest ekstremalnie elastyczny ponieważ możesz tworzyć własne funkcje oraz własne modyfikatory zmiennych. 6. Konfiguralne znaczniki wyrażeń szablonów, możesz używać {}, {{}}, <!—{}--!>, itd. 7. Konstrukcje if/elseif/else/endif są przekazywane do parsera php, więc wyrażenie {if...} może być proste lub kompleksowe – jak sobie życzysz. 8. Nieograniczone zagnieżdżanie sekcji, if-ów itd. 9. Jeśli to potrzebne można osadzić kod php w plikach szablonów, jednak jest to czynność nie polecana. 10. Wbudowane keszowanie. 11. Mozliwa własna konfiguracja źródeł szablonów. 12. Architektura oparta o wtyczki. 13. Architektura pozwalająca wykorzystywać własne rozszeżenia. I wszystko jasne... |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 505 Pomógł: 0 Dołączył: 8.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
mejbi, ale po co angazowac "krowe" smarty do prostszych rozwiazn.
--- Dodałem cache (zachowywanie na dysku mapy tagów), i oto benchmark z porównaniem ze smarty : TPL : http://www.jarzebski.pl/001/smarty_vs_chameleon/template.tpl ( 10kB ) BENCH : http://www.jarzebski.pl/001/smarty_vs_cham...n/benchmark.php BENCH : http://www.jarzebski.pl/001/smarty_vs_cham...nchmark.php.txt Ten post edytował Bastion 5.02.2006, 20:18:34 -------------------- /dev/blog : http://www.santyago.pl/
|
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 1 597 Pomógł: 30 Dołączył: 19.02.2003 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
Cytat(Bastion @ 2006-02-05 17:26:04) mejbi, ale po co angazowac "krowe" smarty do prostszych rozwiazn. Jeśli aplikacja ma się rozwijąć to lepiej wykorzystać narzędzie, które umożliwia taki rozwój bo potem się okaże, że nie ma tego i tego.. i trzeba zmienić narzędzie... szkoda czasu. Twoje obecne rozwiązanie jest dobre, ale na eksperymenty, a nie do rozwiązania produkcyjnego. -------------------- Zapraszam na mój php blog, tworzenie stron.
|
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 505 Pomógł: 0 Dołączył: 8.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
Zgadzam sie, ja nie mowilem ze to finalna wersja - do osiagniecia minimalnej funkcjonalnosci jeszcze daleka droga , dlatego go tutaj zapodalem, by zorientowac sie jakie funkcje i wymagania sa stawiane takim rozwiazaniom. Za wszystkie uwagi nie mniej bardzo dziekuje.
-------------------- /dev/blog : http://www.santyago.pl/
|
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 165 Pomógł: 6 Dołączył: 17.06.2005 Ostrzeżenie: (0%) ![]() ![]() |
Bastion, dla ciekawosci porownaj sprawdz jeszcze Smarty Light
![]() Oczywiste jest, ze cos co ma mniej funkcji, jest mniejsze i posiada mniej kodu bedzie szybsze. |
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 560 Pomógł: 0 Dołączył: 15.07.2003 Skąd: Kwidzyn Ostrzeżenie: (0%) ![]() ![]() |
smarty light sa fajne ale nieste projekt zostal wstrzymany
![]() -------------------- |
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 505 Pomógł: 0 Dołączył: 8.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
FastTemplate : 500 iteracji (20 zmiennych) = 4.2869s
FastTemplate : 500 iteracji (10 zmiennych) = 3.7401s FastTemplate : 500 iteracji (5 zmiennych) = 2.1285s FastTemplate : 500 powtórzeń (20 zmiennych) = 4.2090s Smarty : 500 iteracji (20 zmiennych) = 0.3376s Smarty : 500 iteracji (10 zmiennych) = 0.3078s Smarty : 500 iteracji (5 zmiennych) = 0.3006s Smarty : 500 powtórzeń (20 zmiennych) = 0.2569s Smarty-Light : 500 iteracji (20 zmiennych) = 0.2478s Smarty-Light : 500 iteracji (10 zmiennych) = 0.2247s Smarty-Light : 500 iteracji (5 zmiennych) = 0.2082s Smarty-Light : 500 powtórzeń (20 zmiennych) = 0.1846s Chameleon : 500 iteracji (20 zmiennych) = 0.2193s Chameleon : 500 iteracji (10 zmiennych) = 0.2057s Chameleon : 500 iteracji (5 zmiennych) = 0.1957s Chameleon : 500 powtórzeń (20 zmiennych) = 0.0997s XTemplate : 500 iteracji (20 zmiennych) = 1.3620s XTemplate : 500 iteracji (10 zmiennych) = 1.3862s XTemplate : 500 iteracji (5 zmiennych) = 1.3691s XTemplate : 500 powtórzeń (20 zmiennych) = 0.0166s phemplate : 500 iteracji (20 zmiennych) = 0.1823s phemplate : 500 iteracji (10 zmiennych) = 0.1787s phemplate : 500 iteracji (5 zmiennych) = 0.1796s phemplate : 500 powtórzeń (20 zmiennych) = 0.1062s PHPlib : 500 iteracji (20 zmiennych) = 0.4847s PHPlib : 500 iteracji (10 zmiennych) = 0.3124s PHPlib : 500 iteracji (5 zmiennych) = 0.2196s PHPlib : 500 powtórzeń (20 zmiennych) = 0.3501s -------------------- /dev/blog : http://www.santyago.pl/
|
|
|
![]()
Post
#18
|
|
![]() Grupa: Zarejestrowani Postów: 197 Pomógł: 0 Dołączył: 11.07.2005 Ostrzeżenie: (0%) ![]() ![]() |
Te pomiary zostały wykonane raz czy są może to średnie czasy ? Bo np. dzięki cachowaniu SMARTY przy kolejnym odczytaniu strony dziła o wiele szybciej.
ps. A gdzie porównanie do OPT (http://opt.openpb.net/)? -------------------- ![]() |
|
|
![]()
Post
#19
|
|
![]() Developer Grupa: Moderatorzy Postów: 2 844 Pomógł: 20 Dołączył: 25.11.2003 Skąd: Olkusz ![]() |
Bastion jezeli Ty masz w sumie tylko wyswietlanie zmiennych to popatrz sam
![]() Roznice czasow sa tak nie wielkie, ze nie zauwazalne a w smarty masz wszytko czego Ci trzeba. |
|
|
![]()
Post
#20
|
|
![]() Grupa: Zarejestrowani Postów: 505 Pomógł: 0 Dołączył: 8.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
@lavabul - tak wyniki sa srednie, uwzgledniajac dobrodziejstwa cache Smarty.
@hwao, moze i smarty ma wszystko co mi trzeba ![]() ![]() Pozatym mysle ze juz bedzie co ugryzc jesli Chameleon bedzie potrafil operowac na zmiennych zwyklych i tablicowych (juz potrafi) , bedzie cachowal zapetlnoe przetwarzania (tez potrafi) oraz zapisywam mapy tagow na dysku (tez potrafi), obsluzy petle i ify dowolnej glebokosci no i moze jakies proste filtry. Tak naprawde owszem - czemu nie, moglbym skorzystac ze smarty / light - ale jestem dzikim pasjonatem ![]() W obecnym stadium Chameleon posiada predkosc zblizona do Smarty-Light przy iteracjach z ponownym zaladowaniem szablonu oraz zaladowaniem zmiennych, ale biorac pod uwage cykliczne przetwarzanie jednego szablonu z zachowaniem mapy tagow w pamieci jest juz 2x szybsze. Czyli generujac np. 40 newsow na stronie (40 petli na tym samym szablonie) zrobi to 2x szybciej niz Smarty-Light, lub prawie 3x szbciej w przeciwienstwie so zwyklego Smarty. Za pare dni, po ostrych optymalizacjach i zaimplementowaniu podstawowych dzialn na TPL ponownie przedstawie ( jesli mozna ![]() szablonu powinno byc bardzo proste, tak aby uzytkownik koncowy korzystajac z jakiegos CMS'a badz skryptow nie potrafiacy za bardzo php mogl sam zrobic sobie szablonik - nie marwtiac sie przy tym ze trzeba jednak pamietac o regulach ktore narzuca smarty. Ten post edytował Bastion 6.02.2006, 18:02:06 -------------------- /dev/blog : http://www.santyago.pl/
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 11:47 |