Skip to content

Latest commit

 

History

History
56 lines (41 loc) · 3.45 KB

File metadata and controls

56 lines (41 loc) · 3.45 KB

Heseya Template Engine

Funkcja render()

Zwraca wyrenderowany kod html stworzony na podstawie templatki i parametrów

render($path, $params, $minify = false);

$path - ścieżka względna od webroota zdefiniowanego w pliku konfiguracyjnym prowadząca do pliku z templatką,
$params - tabica asocjacyjna której wartości będą przypisane zmiennej o nazwie klucza,
$minify - Jeśli true zwrócyony kod zostanie zminifikowany

Funkcja renderContent()

Umożliwia wykorzystanie przy renderowaniu zmiennej typu string zawierającej kod templatki zamiast ścieżki do pliku. Pozatym działa identycznie jak render()

renderContent($content, $params, $minify = false);

$content - Zmienna typu string zawierająca template

Specyfikacja templatki

{{ }} - Tag w którym umieszczamy wszystkie rzeczy związane z templatką.

Typy zmiennych:

bez prefiksu - Zmienna przekazana przez funkcje render - wkleja zawartość zmiennej.
@ - Import z pliku np: @templatki/plik - Wkleja zawartość pliku o podanej ścieżce (jeśli nie podamy rozszerzenia domyślnie będzie szukany plik z rozszerzeniem .html).
$ - Zmienna językowa np: $main_page - Wkleja tłumaczenie dla zmiennej z pliku językowego.
# - Stała np: #ver - wkleja stałą utworzoną w pliku konfiguracyjnym.

Operatory:

? - Operator warunkowy np: {{ warunek ? templatka }} - Jeśli zmienna warunkowa jest ustawiona i nie równa się fałsz lub jest pusta to zostanie wyrenderowana templatka następująca po operatorze warunkowym. Templatka może być zapisana bezpośrednio w tagu lub może być importem tzn. @templatka.
=> - Operator mapowania np: {{ tablica => templatka }} - Renderuje templatkę używając wartości tablicy jako parametrów. Jeśli tablica jest sekwencyjna to templatka renderowana jest dla każdej z jej wartości. Jeśli wartośćiami tej tablicy nie są tablice asocjacyjne to wartość tą w templatce zczytujemy jako zmienna value. Templatka może być zapisana bezpośrednio w tagu lub może być importem tzn. @templatka.

Komentarze:

Zwyczajne komentarze HTML <!-- treść komentarza --> zostaną usunięte.
By zachować komentarz trzeba uzyć specjalnego komentarza wymuszonego <!--! treść komentarza -->

Plik konfiguracyjny

Jest plikiem php zawierającym globalne parametry używane przez render().

$webRoot - Jest ścieżką startową dla wszystkich ścieżek podawanych funkcji render i dla importów.
$langFolder - Jest ścieżką folderu z plikami językowymi zależną od $webRoot.

$defaultLanguage - Jest domyślnym językiem tłumaczenia jeśli nie ma tłumaczenia w języku użytkownika.
$langCookieName - Jest nazwą ciasteczka w którym przechowywany jest język wybrany przez użytkownika.

$constants - Jest tablicą asocjacyjną zawierającą stałe używane przy renderowaniu templatek. Klucz jest nazwą zmiennej a wartość jej wartością.

Pliki językowe

Zapisywane są w fomacie .json w folderze językowym.

Klucze są nazwami zmiennych językowych a wartości tłumaczeniami.

Konwencja jęzków

Pliki językowe i domyślny język nazywane są w formacie ogólnym np. en lub bardziej sczegółowo np. en_US. Jeśli nie ma tłumaczenia dla języka szczegułowego np. en_GB to zostanie zastosowane tłumaczenie ogólne np. en. Jeśli nie ma i takiego tłumaczenia zastosowane zostanie tłumaczenie domyślne ustawione w pliku konfiguracyjnym.

Przykłady zastosowania