phpから割り当てられた変数
phpから割り当てられた変数は、先頭にドル記号($)をつける事で参照できます。 また、assign 関数によってテンプレート内から割り当てられた変数もこの方法で表示できます。
例 4-1. 割り当てられた変数
Hello {$firstname}, glad to see you could make it.
<br />
Your last login was on {$lastLoginDate}.
出力:
Hello Doug, glad to see you could make it.
<br />
Your last login was on January 11th, 2001.
連想配列
ピリオドの後にキーを指定する事で、phpから割り当てられた連想配列を参照できます。
例 4-2. 連想配列の値にアクセスする
<?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 />
出力:
配列のインデックス
本来のphp構文のように、配列のインデックスによる参照も可能です。
例 4-3. インデックスによって配列にアクセスする
<?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 />
出力 :
オブジェクト
phpから割り当てられたオブジェクトのプロパティは、'->'の後にプロパティ名を指定する事で参照できます。
例 4-4. オブジェクトのプロパティにアクセスする
name: {$person->name}<br />
email: {$person->email}<br />
出力:
name: Zaphod Beeblebrox<br />
email: zaphod@slartibartfast.com<br />