smarty-php.-leksykon-kieszonkowy cała książka.pdf

(4902 KB) Pobierz
888043064.001.png
6.
Rozszerzenia systemu szablonów ............................................. 88
Nazewnictwo rozszerzeń
88
Funkcje szablonów
90
Funkcje blokowe szablonów
92
Modyfikatory
95
7.
Obsługa pamięci podręcznej .......................................................97
Włączanie obsługi pamięci podręcznej
97
Testowanie kopii szablonu w pamięci podręcznej
98
Tworzenie wielu kopii dla jednego szablonu TPL
100
Usuwanie kopii szablonu z pamięci podręcznej
101
Kontrolowanie rozszerzeń Smarty
104
Skorowidz .................................................................................. 105
4 |
Spis treści
Rozdział 4. Metody obiektów klasy Smarty
Obiekty klasy Smarty posiadają szereg metod, dzięki którym
można wykonywać określone operacje dotyczące zmiennych,
szablonów czy też plików konfiguracyjnych.
Operacje na zmiennych
Metoda append() oraz append_by_ref()
Metoda append() (definicja 4.1) umożliwia dodanie nowej warto-
ści do zmiennej Smarty . Metoda dodaje nową zmienną, tworząc
jej kopię.
Definicja 4.1. Metoda append()
void append (string nazwa_zmiennej, mixed wartosc_zmiennej
[, bool polaczenie])
Metoda przyjmuje następujące parametry:
nazwa_zmiennej ( wymagany ) — nazwa zmiennej, do której
ma zostać przypisana wartość. Jeżeli nowa wartość jest
dodawana do zmiennej typu string , to następuje konwersja
zmiennej string na tablicę, a następnie dodanie do niej
kolejnego elementu;
wartosc_zmiennej ( wymagany ) — wartość zmiennej, która
zostanie dodana do zmiennej istniejącej;
polaczenie — jeżeli parametr będzie miał wartość true ,
wartosc_zmiennej zostanie połączona z aktualną zmienną
nazwa_zmiennej . W przeciwnym wypadku nowa wartość
zostanie dołączona.
Rozdział 4. Metody obiektów klasy Smarty | 41
Na listingu 4.1 został przedstawiony przykład wykorzystania
metody append() .
Listing 4.1. Przykład wykorzystania metody append()
[Skrypt PHP]
<?php
...
$smarty_obj-> append (array('zmienna_1'=>'zmienna 1a',
'zmienna_2'=>'zmienna 2a'));
$smarty_obj-> append ('zmienna_1', 'zmienna 1b');
...
?>
[Szablon TPL]
{$zmienna_1[1]}
[Wynik wykonania skompilowanego szablonu TPL]
zmienna 1b
Metoda append_by_ref() (definicja 4.2) w działaniu jest podobna
do metody append() z tą różnicą, że wartość przekazywana jest
przez referencję, a nie przez wartość, jak w przypadku metody
append() .
Definicja 4.2. Metoda append_by_ref()
void append_by_ref (string nazwa_zmiennej, mixed
wartosc_zmiennej [, bool polaczenie])
Na listingu 4.2 został przedstawiony przykład wykorzystania
metody append_by_ref() .
Listing 4.2. Przykład wykorzystania metody append_by_ref()
[Skrypt PHP]
<?php
...
$wartosc = 'Zmienna 1b';
$smarty_obj->append(array('zmienna_1'=>'zmienna 1a'));
$smarty_obj->append('zmienna_1', $wartosc);
$smarty_obj-> append_by_ref ('zmienna_1', $wartosc);
$wartosc = 'Zmienna 1c';
...
?>
42 | Smarty PHP. Leksykon kieszonkowy
[Szablon TPL]
{$zmienna_1[0]}
{$zmienna_1[1]}
{$zmienna_1[2]}
[Wynik wykonania skompilowanego szablonu TPL]
zmienna 1a
Zmienna 1b
Zmienna 1c
Metoda assign() oraz assign_by_ref()
Metoda assign() (definicja 4.3) pozwala na utworzenie zmiennej
Smarty dostępnej w szablonie TPL.
Definicja 4.3. Metoda assign()
void assign (array lista_zmiennych)
[lub]
void assign (string nazwa_zmiennej, mixed wartosc_zmiennej)
Jako parametr metody może zostać użyta tablica asocjacyjna,
w której nazwą przyszłej zmiennej jest klucz asocjacyjny elementu
tablicy, a jej wartością — wartość elementu tablicy (listing 4.3).
Listing 4.3. Tablica asocjacyjna zawierająca listę elementów
[Skrypt PHP]
<?php
...
//Przypisanie zmiennych
$smarty_obj->assign(array('zmienna_1'=>'Warto ś c zmiennej 1',
'zmienna_2'=>'Warto ś c zmiennej 2'));
//Rendering szablonu
$smarty_obj->display('szablon.tpl');
?>
[Szablon TPL]
Warto ść zmiennej 1 to: {$zmienna_1}
Warto ść zmiennej 2 to: {$zmienna_2}
[Wynik wykonania skompilowanego szablonu TPL]
Warto ść zmiennej 1 to: Warto ś c zmiennej 1
Warto ść zmiennej 2 to: Warto ś c zmiennej 2
Rozdział 4. Metody obiektów klasy Smarty | 43
Zgłoś jeśli naruszono regulamin