Smarty マニュアル

前のページ

次のページ

第 4章変数

目次

phpから割り当てられた変数

設定ファイルから読み込まれた変数

予約変数{$smarty}

Smartyは色々な種類の変数を持っています。変数の種類は接頭辞の記号によって決まります。 (記号によって囲まれる場合もあります)

変数は、その値を直接表示したり、関数の属性のパラメータや変数の修正子、内部の条件式等に使用されます。 変数の値を表示するには単にデリミタで囲みます。

{$Name}{$Contacts[row].Phone}<body>



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 />

出力:

555-222-9876<br />zaphod@slartibartfast.com<br />555-444-3333<br />555-111-1234<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 />

出力 :

555-222-9876<br />zaphod@slartibartfast.com<br />555-444-3333<br />555-111-1234<br />

オブジェクト

phpから割り当てられたオブジェクトのプロパティは、'->'の後にプロパティ名を指定する事で参照できます。

例 4-4. オブジェクトのプロパティにアクセスする

name: {$person->name}<br />email: {$person->email}<br />

出力:

name: Zaphod Beeblebrox<br />email: zaphod@slartibartfast.com<br />

ページ上段