Get Smarty

Donate

Paypal

Smarty Icon

You may use the Smarty logo according to the trademark notice.

Smarty Template Engine Smarty Template Engine

For sponsorship, advertising, news or other inquiries, contact us at:

Sites Using Smarty

Advertisement

Chapter 4. 変数

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

Smarty 変数は、その値を直接表示したり 関数 の引数や 属性修飾子、 そして条件式の内部などで使用されたりします。 変数の値を表示するには、それを単純に デリミタ で囲み、デリミタ内に変数のみが含まれるようにします。

Example 4.1. 変数の例


{$Name}

{$product.part_no} <b>{$product.description}</b>

{$Contacts[row].Phone}

<body bgcolor="{#bgcolor#}">

  


ヒント

Smarty 変数の値を手っ取り早く調べるには、 デバッギングコンソール を使用するとよいでしょう。

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

代入された変数は、先頭にドル記号 ($) がつきます。

Example 4.2. 割り当てられた変数

PHP のコード


<?php

$smarty = new Smarty();

$smarty->assign('firstname', 'Doug');
$smarty->assign('lastname', 'Evans');
$smarty->assign('meetingPlace', 'New York');

$smarty->display('index.tpl');

?>

index.tpl のソース


Hello {$firstname} {$lastname}, glad to see you can make it.
<br />
{* これは動作しません。変数名は大文字小文字を区別するからです。 *}
This weeks meeting is in {$meetingplace}.
{* こちらは動作します *}
This weeks meeting is in {$meetingPlace}.

   

出力は次のようになります。


Hello Doug Evans, glad to see you can make it.
<br />
This weeks meeting is in .
This weeks meeting is in New York.

  

連想配列

PHP から割り当てられた連想配列を参照することもできます。 その場合は、ドット "." の後にキーを指定します。

Example 4.3. 連想配列の値にアクセスする


<?php
$smarty->assign('Contacts',
    array('fax' => '555-222-9876',
          'email' => 'zaphod@slartibartfast.example.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.example.com<br />
555-444-3333<br />
555-111-1234<br />

   

配列のインデックス

配列に対してインデックスでアクセスすることもできます。 これは PHP 本来の構文と同じです。

Example 4.4. インデックスによって配列にアクセスする


<?php
$smarty->assign('Contacts', array(
                           '555-222-9876',
                           'zaphod@slartibartfast.example.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.example.com<br />
555-444-3333<br />
555-111-1234<br />

   

オブジェクト

PHP から割り当てられた オブジェクト のプロパティにアクセスするには、-> 記号の後にプロパティ名を指定します。

Example 4.5. オブジェクトのプロパティにアクセスする


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

   

出力は次のようになります。


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

   

Comments
No comments for this page.

Advertisement

Sponsors [info]

Sponsors