Capítulo 4. Variáveis
No Smarty há vários tipos diferentes de variáveis. O tipo da variável depende do prefixo que
ela usa (ou do símbolo pelo qual ela está contida).
Variáveis no Smarty podem tanto serem exibidas diretamente ou usadas como argumentos
para atributos de funções e modificadores, dentro de expressões condicionais, etc.
Para que uma variável seja exibida o nome dela deve estar dentro dos delimitadores
e não pode conter nenhum outro caracter. Veja os exemplos abaixo:
{$Nome}
{$Contatos[row].Telefone}
<body bgcolor="{#cordefundo#}"> |
Variáveis definidas do PHP
Variáveis que são definidas do PHP são referenciadas precedendo elas
com um sinal de sifrão $. Variáveis definidas dentro do template
com a função assign
também são mostradas desta maneira.
Exemplo 4-1. Variáveis definidas Hello {$firstname}, glad to see you could make it.
<p>
Your last login was on {$lastLoginDate}.
MOSTRA:
Hello Doug, glad to see you could make it.
<p>
Your last login was on January 11th, 2001. |
|
Associative arrays
Você também pode referenciar matrizes associativas que são definidas no PHP
especificando a chave depois do símbolo '.'
(ponto).
Exemplo 4-2. Acessando variáveis de matriz associativa index.php:
$smarty = new Smarty;
$smarty->assign('Contacts',
array('fax' => '555-222-9876',
'email' => 'zaphod@slartibartfast.com',
'phone' => array('home' => '555-444-3333',
'cell' => '555-111-1234')));
$smarty->display('index.tpl');
index.tpl:
{$Contacts.fax}<br>
{$Contacts.email}<br>
{* you can print arrays of arrays as well *}
{$Contacts.phone.home}<br>
{$Contacts.phone.cell}<br>
MOSTRA:
555-222-9876<br>
zaphod@slartibartfast.com<br>
555-444-3333<br>
555-111-1234<br> |
|
Índices de Matrizes
Você pode referencia matrizes pelo seu índice, muito
parecido com a sintaxe nativa do PHP.
Exemplo 4-3. Acesando matrizes por seus índices index.php:
$smarty = new Smarty;
$smarty->assign('Contacts',
array('555-222-9876',
'zaphod@slartibartfast.com',
array('555-444-3333',
'555-111-1234')));
$smarty->display('index.tpl');
index.tpl:
{$Contacts[0]}<br>
{$Contacts[1]}<br>
{* you can print arrays of arrays as well *}
{$Contacts[2][0]}<br>
{$Contacts[2][1]}<br>
MOSTRA:
555-222-9876<br>
zaphod@slartibartfast.com<br>
555-444-3333<br>
555-111-1234<br> |
|
Objetos
Propriedades de objetos definidos do PHP podem ser referenciados
especificando-se o nome da propriedade depois do símbolo '->'.
Exemplo 4-4. Acessando propriedades de objetos name: {$person->name}<br>
email: {$person->email}<br>
MOSTRA:
name: Zaphod Beeblebrox<br>
email: zaphod@slartibartfast.com<br> |
|