[klasa] prosta klasa templatow |
[klasa] prosta klasa templatow |
4.07.2006, 12:53:36
Post
#1
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 0 Dołączył: 8.03.2005 Ostrzeżenie: (0%) |
cos w desen smarty , duzo prostsze i zdecydowanie szybsze w dzialaniu ( przy wlaczeniu cacheowania ) , ma kilka niedogodnien ale mozna latwo rozbudowac, chcialbym zebyscie powiedzieli co mozna ulepszyc i poprawic
tagi: {foreach $zmienna nazwa=element}{/foreach} {for warunek nazwa=element}{/for} {if warunek}{elseif warunek}{else}{/if} {$$zmienna} - echo {cycle='param1,param2,param3,..' nazwa=sekcja} {include plik} {vardump $zmienna} system dziala duzo szybciej niz smarty dla wlaczonego cacheowania. UPDATE ver. 1.8 Ten post edytował ergo 6.07.2006, 09:50:02 -------------------- |
|
|
4.07.2006, 13:18:58
Post
#2
|
|
Grupa: Zarejestrowani Postów: 475 Pomógł: 0 Dołączył: 1.04.2005 Skąd: Warszawa Ostrzeżenie: (0%) |
Mi się wydaje, że nie ten dział.
Nic dziwnego, że szybsze niż Smarty skoro ma małe możliwości. Bastion stworzył wspaniały system szablonów o możliwościach jak Smarty a o wiele szybszym działaniu |
|
|
4.07.2006, 13:26:48
Post
#3
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 0 Dołączył: 8.03.2005 Ostrzeżenie: (0%) |
ja wiem czy takie male mozliwosci ?
pozwala zagniezdzac szablony w szablonach, pozwala na wykonywanie funkcji na zmiennych, posiada standardowe konstrukcje jezykowe typu warunki i petle, posiada chacheowanie sparsowanego pliku ( samo php wygenerowane z tpl), dla szybkosci, no i posiada konstukcjie {cycle} ze smarty bo mi sie czesto przydawala i wspiera liczniki dla wszystkich petli. w zasadzie przejscie z kilku systemow pisanych na smartach nie jest wlasciwie zadnym problemem, ( w wiekszosci trzeba troche tlyko sladnie bylo pozmieniac ). czy malo mozliwosci rzecz gustu, wg. mnie robi to co powinien robic system szablonow ;-) po prostu zrezygnowalem z glupot typu filtry itp :] -------------------- |
|
|
4.07.2006, 16:03:46
Post
#4
|
|
Grupa: Przyjaciele php.pl Postów: 1 224 Pomógł: 40 Dołączył: 6.07.2004 Skąd: Wuppertal Ostrzeżenie: (0%) |
Przenosze do "algorytmy, klasy, funkcje"
|
|
|
6.07.2006, 09:51:20
Post
#5
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 0 Dołączył: 8.03.2005 Ostrzeżenie: (0%) |
zupelnie przemodelowalem dzialanie klasy , powinna dzialac jeszcze szybciej, dopisalem jak wygladaja tagi reszty sie chyba mozna juz dopmyslic z kodu.
zupelnie przemodelowalem dzialanie klasy , powinna dzialac jeszcze szybciej, dopisalem jak wygladaja tagi reszty sie chyba mozna juz dopmyslic z kodu. chcialbym zglosic ze bbcode sluzacy do wyswietlania kodu php nie dziala prawidlowo porownajcie prosze te linijke : $patterns[] = '/{ *include *([^}]*) *}/i'; $replacements[] = '<?php include(\''.$this->katalog_cache.'\'.str_replace(\'..\',NULL,'.'\'\1\')'.'.\'.php\'); ?>'; $parsed_templat = preg_replace($patterns, $replacements, $zawartosc_templata ); z tym co wyswietla sie w bbcodzie php z pierwszego postu -------------------- |
|
|
19.07.2006, 20:23:59
Post
#6
|
|
Grupa: Zarejestrowani Postów: 90 Pomógł: 0 Dołączył: 29.12.2005 Skąd: Z krzaków Ostrzeżenie: (0%) |
Zamiast includowac szablon wez go wczytaj do zmiennej otwierajac go np za pomoca file_get_contents(); a nastepnie wyswietl go, takie rozwiazanie bedzie wydajniejsze nizeli includowanie.
Nie wiem czy dobrze zauwazylem bo przegladalem kod tak na szybko, ale wydaje mi sie ze jest to tak skonstruowane ze za pierwszym razem gdy sie wyswietla szablon, jest on parsowany, zapisywany juz jako cache i dopiero wtedy wyswietlany jest szablon z zapisanego cache'u. Nie lepiej bedzie go wyswietlic odrazu po sparsowaniu a dopiero pozniej zapisac ( wtedy wynik sparsowanego szablony powinien nam sie szybciej ukazac ) A pozniej juz normalnie odczytywac wciaz z cache'u ? Ten post edytował Rafiki 19.07.2006, 20:29:45 |
|
|
20.07.2006, 09:55:25
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) |
Ehh ale zauważ że to nie działa jak niektóe klasy teplatek. To zamienia poprostu wystapienia np. {foreac} na <? foreach() ?> i zaisuje i inlcuduje. Wiesz poco? Poto aby to się wykonało (ie podoba mi się takie podejście, wole nie php dla template bo zaśmiea tlkyo i jest ukryte pod cachowaniem) Ja robie na wyrażeniach regularnych ale nie na tej zasadzie^^ Tylkot tpl bez pseudo cache
-------------------- |
|
|
20.07.2006, 15:42:57
Post
#8
|
|
Grupa: Zarejestrowani Postów: 90 Pomógł: 0 Dołączył: 29.12.2005 Skąd: Z krzaków Ostrzeżenie: (0%) |
Ehh ale zauważ że to nie działa jak niektóe klasy teplatek. To zamienia poprostu wystapienia np. {foreac} na <? foreach() ?> i zaisuje i inlcuduje. Wiesz poco? Poto aby to się wykonało (ie podoba mi się takie podejście, wole nie php dla template bo zaśmiea tlkyo i jest ukryte pod cachowaniem) Ja robie na wyrażeniach regularnych ale nie na tej zasadzie^^ Tylkot tpl bez pseudo cache No to zes zrobil odkyrcie ze includuje akurat po to aby szablon sie wykonal (; w sensie wyswietlil Przeczytaj jeszcze raz to co ja napisalem a moze zrozumiesz ze wyswietlenie sparsowanego szablonu bedzie szybsze jezeli zamiast includoweac plik cachu otworzy go zapomoca file_get_contents ( przypisujac go do jakiejs zmiennej a nastepnie wyswietlali go ). Ten post edytował Rafiki 20.07.2006, 15:44:19 |
|
|
20.07.2006, 17:42:15
Post
#9
|
|
Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) |
Nie rozumiesz nie da się tak! Bo on musi zapisać aby wykonac kod php (file_get_contents czyta plik ale go nie wykonuje ;/) Zrozum, mi sie to neipodba, niech autor sie wypowie
-------------------- |
|
|
20.07.2006, 21:39:36
Post
#10
|
|
Grupa: Zarejestrowani Postów: 90 Pomógł: 0 Dołączył: 29.12.2005 Skąd: Z krzaków Ostrzeżenie: (0%) |
omg co sie nieda :| zawartosc cachu zostanie pobrana przez file_get_contents i przypisana do zmiennej a nastepnie ta zmienna zostanie wyswietlona.
Poczytaj np art na webcity.pl w praktyce o tworzeniu klasy sql lub tez http://www.leon.w-wa.pl/texts/templates.php Przy pierwszy wyswietleniu szablonu gdy cachu jeszcze niema pierw on powinien zostac wyswietlony pozniej zapisany do pliku. Przy kolejnych wyswietlaniach cache powinien byc pobierany przez file_get_contents albo starsze funkcje z php 4 a nastepnie wyswietlamy to co pobralismy z pliku. |
|
|
21.07.2006, 14:29:09
Post
#11
|
|
Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) |
O lol, o sobie tak zrob ;o. Ja próbowałem wyświetlać i... sam zobacz.
-------------------- |
|
|
21.07.2006, 19:54:32
Post
#12
|
|
Grupa: Zarejestrowani Postów: 90 Pomógł: 0 Dołączył: 29.12.2005 Skąd: Z krzaków Ostrzeżenie: (0%) |
O lol, o sobie tak zrob ;o. Ja próbowałem wyświetlać i... sam zobacz. Ja juz dawno tak zrobilem, napisalem na tej podstawie klasy do mysqla oraz klase szablonow. Przeczytaj prosze http://webcity.pl/webcity/artykuly.php/t/51 oraz http://www.leon.w-wa.pl/texts/templates.php a sam sie przekonasz. Pierw przeczytaj w wikipedi co to php a pozniej lol'uj, bo narazie zamiast normalnie dyskutowac zachowujesz sie jak niewychowany smarkacz. Ten post edytował Rafiki 21.07.2006, 19:56:20 |
|
|
7.08.2006, 22:25:30
Post
#13
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 0 Dołączył: 8.03.2005 Ostrzeżenie: (0%) |
No to zes zrobil odkyrcie ze includuje akurat po to aby szablon sie wykonal (; w sensie wyswietlil Przeczytaj jeszcze raz to co ja napisalem a moze zrozumiesz ze wyswietlenie sparsowanego szablonu bedzie szybsze jezeli zamiast includoweac plik cachu otworzy go zapomoca file_get_contents ( przypisujac go do jakiejs zmiennej a nastepnie wyswietlali go ). sluchajcie , cala idea tego, polega na tym zeby z templata dostac wynikowy kod php, zapisac go, i tyle. dostajemy na wyjsciu dokladnie to samo jakbysmy w ogole nie uzyli templata tylko klasycznie mieszali php z html, jak by nie patrzec jest to chyba najszybsze z mozliwych rozwiazan. potem przy ponowmym wyswietleniu zupelnie pomijamy caly proces parsowania i includujemy najzwyklejszy plik php. ktory juz ma na miejscu tagow, liczniki, petle itp itede.... nie bardzo rozumiem idei wczytywania tego do zmiennej zeby wyswietlic ? da sie tak ? przeciez by trzeba bylo eval uzyc .... jedyne w czym bym prosil o pomoc to podsuniecie pomyslu zeby to robilo tak ze niektore tagi zamiast zamieniac na echo, od razu zamienialo na tekst, np. pliki jezykowe, dzieki temu np. przy wylaczonej kompilacji nie trzeba by wczytywac plikow ze zdefiniowanym tekstem tylko od razu wyrzucac zlokalizowanego templata... -------------------- |
|
|
8.08.2006, 07:27:18
Post
#14
|
|
Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) |
No przeciez mu to mówiłe..pisałem przez cały czas ;/ Ze to generuje kod php dlatego musi zapisac, a funkcja include go wykona
-------------------- |
|
|
Wersja Lo-Fi | Aktualny czas: 25.04.2024 - 22:09 |