andrzej.info.pl
Mój sposób tworzenia sieci
zamknij

Pobieralnia

Andrzej TPLparser

Praca na oddzielonym widoku od kodu obsługi jest bardzo dobrym rozwiązaniem. Parser, który napisałem używam w większości nowych projektów. Są w nim zawarte podstawowe wyrażenia używane w PHP.

Działanie

Parser zawiera trzy foldery: bin, w którym przechowywana jest klasa, cache - folder z wynikiem parsowania oraz tpl na pliki .tpl.

W pliku głownym, na przykład index.php, umieszczamy include $parser->parse('plik');, a w folderze tpl tworzymy plik o przykładowej nazwie plik.tpl. Każda zmiana zawartości pliku .tpl powoduje jego ponowne parsowanie.

Podstawowe użycie

Użycie zmiennej, na przykład $file w pliku to {file}, natomiast tablica $this['is']['a']['long']['array'] przedstawia się jako {this.is.a.long.array}. Jeżeli chcemy użyć wyrażenia if - {if true}something{endif}. Można również wprowadzać ciągi, na przykład 'that\'s mine', co wyświetli that's mine.

Operatory logiczne są takie same jak w PHP; dodatkowo niektórym są przypisane dodatkowe.

Funkcje

Funkcje jednoargumentowe tworzymy przez dodanie dwukropka za nazwą funkcji i argumentu, na przykład {print_r: data}. Funkcje z wieloma argumentami tworzymy poprzez dodanie przecinka, ilości argumentów, dwukropka oraz argumentów oddzielonych spacjami, na przykład {str_replace,3: 'ma' 'da' 'mama ma mnie'}.

Można również przypisywać zmiennym wartości, na przykład {zmienna = 'nowy string'}. W tym przypadku nic nie zostanie wyświetlone, ponieważ zachodzi tutaj przypisanie, aby wyświetlić zmienną należy użyć po tym {zmienna}.

Jak budować wyrażenia for i foreach?

Te dwa wyrażenia mają specyficzną budowę. For konstruuje się przez wstawienie znaku & w miejsce oddzielenia argumentów - {for i = 0 & i < 10 & i++} {i} {endfor}.

Foreach ze względu na zagnieżdzenia ma taką budowę, że pętla podstawowa może zawierać klucz i wartość, na przykład operując na tablicy $tablica = array('foo' => 'bar') - {foreach tablica}Klucz {key} ma {value}<br />{endforeach} otrzymamy Klucz foo ma bar<br />.

Operując na zagnieżdżonych wyrażeniach możemy używać konstrukcji z dodatkowym argumentem, na przykład dla tablicy $foo = array('foo' => array('bar1', 'bar2')):

{foreach foo}
{key}:
{foreach value bar}
{keybar}:{valuebar}<br />
{endforeach}
{endforeach}

Wynikiem będzie:

foo:
0:bar1<br />
1:bar2<br />

Wyjątki

Ponieważ nawias klamrowy jest używany przez parser zwykłe użycie takiego nawiasu może wyglądać na dwa sposoby: {'{'} lub {x}{{/x}.

Rozmiar pliku: 10.54 KB
Liczba pobrań: 24
Nazwa pliku: parser.zip
Data dodania: 17 sierpnia 2008

Powrót

© 2006-2010 by Andrzej Aleksiejuk
Licencja