![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 697 Pomógł: 47 Dołączył: 19.12.2003 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Chciałbym przedstawić moją najnowszą klasę (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Parser szablonów... Przyznaję wzorowałem się głównie na chameleonie(chodzi o składnie), phpbb jest totalnie nieprzyjazny a Smarty totalnie zamotane (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Klasa obsługuje instrukcje warunkowe, sekce, funkcje, zmienne tablicowe oraz modyfikatory. Oczywiście sekcje i ify można dowolnie wiele razy zagnieżdżać. Wielowymiarowość tablic również działa... Wszystko działa podobnie jak u Bastiona. Są jednak małe wyjatki, funkcja setvar ma inna skadnie @setvar(nazwa zmiennej, wartosc) Wszelkie zmienne umieszczamy w blokach {zmienna} jednak jeśli mamy doczynienia z funkcjami aby uniknąć zagnieżdżania nawiasów klamrowych należy użyć znaku dolara... Kod Normalnie blok zapiszemy {blok} Ale gdy mamy np. instrukcje warunkową {@if($blok=='costam')} asf ss as {@fi} Dodałem takze kilka ulepszeń... Możemy deklarować zmienne tablicowe. np. Kod {@setvar('tablica',Array('pierwszy','drugi','bla' => 'trzeci'))} Dodałem również modyfikatory do funkcji setvar(i tylko do niej!) tak wiec możemy użyć zapisu Kod {@setvar('owoc','jablko')} {@setvar('owoc_hash',$owoc|md5)} lub po prostu Kod {@setvar('owoc_hash','jablko'|md5)} Umożliwiłem takze wielokrotne modyfikowanie np.. Kod {napis|strtolower|ucfirst|md5} Co spowoduje zamiane liter w zmiennej 'napis' na małe, następnie pierwsza litera zostanie zmieniona na wielką, na końcu całość zostanie zhashowana za pomoca md5 DOWNLOAD (wszystkie wersje zawierają przykłady) Moje projekty (EDIT: to bedzie dzialalo) Notka dla FiDa (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) czy mógłbyś przeprowadzić mini testy szybkości? Kompletnie się na tym nie znam (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Jest to 1 RC wersja ;] wszelkie pomysły mile widziane.. Parser nie obsluguje jeszcze zmiennych globalnych(kombinuje jak to tam dokleić (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ) oraz funkcji @include() - ale ją dopisze jak wstane (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Teraz czas na sen ';) Ten post edytował SHiP 25.11.2006, 21:06:07 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.09.2025 - 04:40 |