Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [klasa] Falcon Template, Parser szablonów
SHiP
post
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
Go to the top of the page
+Quote Post

Posty w temacie
- SHiP   [klasa] Falcon Template   23.07.2006, 23:44:45
- - Bastion   Ja chcialem przeprowadzic testy wydajnosci ale nie...   25.07.2006, 09:24:53
- - SHiP   Cytat(Bastion @ 25.07.2006, 10:24 ) Ja ch...   25.07.2006, 09:53:49
|- - mike_mech   Cytat(SHiP @ 25.07.2006, 10:53 ) ad 3. A ...   25.07.2006, 10:02:19
- - SHiP   mike_mech -> dzięki wielkie ;0 juz kumato und c...   25.07.2006, 10:20:40
- - Bastion   raczej tak ale bez cycle i includa nie moge zapu...   25.07.2006, 12:00:49
- - SHiP   Ok nowa wersja gotowa... DOWNLOAD Dodałem funkcję...   25.07.2006, 20:24:21
- - Bastion   dziwne, dalem {@include('header.html')} i ...   26.07.2006, 09:49:57
- - SHiP   hmm nie przewidziałem że ktoś może inne rozszerzen...   4.08.2006, 17:17:54
- - Bastion   Przerób te szablony by działały pod cheetah : http...   5.08.2006, 18:25:48
- - SHiP   ok sprawa zalatwiona Okazało się ze aktualna wers...   6.08.2006, 11:38:04
- - Bastion   pcte => 151.34 requests/s chameleon 2.0.0 =...   9.08.2006, 12:16:04
- - Riklaunim   odnośnie cheetah to już jeden system szablonów o t...   10.08.2006, 01:34:55
- - SHiP   Bastion -> loop security niby juz jest, nie dzi...   10.08.2006, 08:00:48
- - eai   Kod{@setvar('tablica',Array('p...   10.08.2006, 13:36:58
- - SHiP   Cytat(eai @ 10.08.2006, 14:36 ) Kod{@setv...   10.08.2006, 13:51:11
- - kwiateusz   prawdę mowiąc podoba mi się ta klasa, tylko moj ps...   11.08.2006, 17:01:48
- - SHiP   Nowa wersja juz jest 1.7 Pobierz Jeśli chodzi o...   25.11.2006, 21:04:02
- - Turgon   Kod przejrzałem oględnie, ale klasa podo...   24.01.2007, 21:33:55
- - SHiP   hmm.. wygląda na to, że nie został stworzony obiek...   24.01.2007, 22:45:58
- - Turgon   Pliki są na pewno includnięte ;] Ponieważ mam load...   25.01.2007, 09:36:00
- - Bastion   Przyznam się, że próbowałem uruchomić ten system s...   25.01.2007, 10:25:04
- - SHiP   @Turgon, @Bastion: dzięki za komentarze, rzeczywiś...   25.01.2007, 13:00:49
- - Turgon   Dobra mam kilka uwag. Otóż klasa Falcon wymaga dan...   25.01.2007, 13:49:48
- - MalCom   Mi sie zawsze marzyl szybki i wydajny parser, bez ...   25.01.2007, 14:03:44
- - Bastion   Apache Benchmark : -c 900 -n 300 Maszyna P4 2.8GH...   25.01.2007, 14:21:27
- - SHiP   @Bastion; Dzięki za wyniki testu . Nie jest źle, p...   25.01.2007, 14:36:47
- - Sh4dow   Jak juz robic e testy porownawcze w wydajnosci to ...   25.01.2007, 15:06:12
- - Turgon   Takie pytanie na marginesie. Co przygotowujesz, że...   25.01.2007, 15:15:59
- - Bastion   Sh4dow : bolesna prawda jest taka, że wyniki jakie...   25.01.2007, 15:16:04
- - SHiP   Myślę że jeśli rdzen jest dobrze napisany to pozos...   25.01.2007, 15:22:21
- - Bastion   Dodam małe info, że Chameleon-Dev-2.2 wspiera pami...   25.01.2007, 16:06:43
- - Turgon   Zaczynam mozolne pisanie skryptu i piszę sobie sza...   9.03.2007, 20:00:36
- - SHiP   Od wersji 1.8 ileś {/section} zostało zamienione ...   9.03.2007, 21:38:15
- - Turgon   To zrób przynajmniej jakąś aktualną dokumentację ...   10.03.2007, 10:37:02
- - SHiP   CytatTo zrób przynajmniej jakąś aktualną dokumenta...   10.03.2007, 10:44:02
- - Turgon   Mam kolejne problemy z falconem: [HTML] pobierz, ...   19.03.2007, 20:11:22
- - SHiP   Kod{@if(isset($list))} Nie m...   19.03.2007, 20:17:29
- - Turgon   No to kolego, będziesz musiał znosić mnie i moje p...   7.04.2007, 19:17:06
|- - SHiP   Cytat(Turgon @ 7.04.2007, 18:17:06 ) ...   8.04.2007, 17:48:12
- - Turgon   Jednak pokręciłem. Można dodać do tego stałe szabl...   8.04.2007, 19:17:03
- - eai   Brakuje mi weryfikacji zmiennych użytych w sz...   12.04.2007, 08:47:40
|- - SHiP   Cytat(eai @ 12.04.2007, 07:47:40 ) Br...   12.04.2007, 13:40:43
- - eai   W sekcjach tez?? {@section('tabliczka')} ...   12.04.2007, 14:47:04
- - SHiP   Hmm... dziwne ale jest błąd z tablicami indexowany...   12.04.2007, 16:34:22
- - Kamson   Widzę że temat jakoś przymiera ... ale korzystam z...   22.05.2007, 12:19:40
- - SHiP   Oczywiście, że będzie, narazie jednak skupiam się ...   22.05.2007, 12:38:31
- - Kamson   Mógł byś mi dokładniej wytłuma...   22.05.2007, 13:59:14
- - SHiP   Jest nowa wersja Falcona z numerkiem 1.9.9 Powoli ...   30.08.2007, 14:47:44


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: 15.09.2025 - 04:40