Files
smarty/docs/ja/designers/language-basic-syntax/language-syntax-variables.xml
2007-04-21 12:13:34 +00:00

88 lines
3.4 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 1.15 Maintainer: takagi Status: ready -->
<!-- CREDITS: mat-sh,daichi,joe -->
<sect1 id="language.syntax.variables">
<title>変数</title>
<para>
テンプレート変数は、先頭にドル記号 $ を付けます。変数名には
<ulink url="&url.php-manual;language.variables">PHP の変数</ulink>
と同様に英数字およびアンダースコアが使用できます。
配列の参照には、インデックスの数値もしくはそれ以外の文字を使用できます。
オブジェクトのプロパティとメソッドの参照も同様です。</para>
<para>
<link linkend="language.config.variables">Config ファイルの変数</link>
にはドル記号を付けず、参照する際にはハッシュマーク # で囲むか、
<link linkend="language.variables.smarty.config">
<parameter>$smarty.config</parameter></link>
変数として指定します。
</para>
<example>
<title>変数</title>
<programlisting>
<![CDATA[
{$foo} <-- 単純な変数 (配列やオブジェクト以外) を表示します。
{$foo[4]} <-- 0から始まるインデックスを持った配列の5番目の要素を表示します。
{$foo.bar} <-- "bar"というキーに対応する配列の値を表示します。PHP の $foo['bar'] と同じです。
{$foo.$bar} <-- 変数のキーに対応する配列の値を表示します。PHP の PHP $foo[$bar] と同じです。
{$foo->bar} <-- オブジェクトのプロパティ "bar"を表示します。
{$foo->bar()} <-- オブジェクトのメソッド"bar"の返り値を表示します。
{#foo#} <-- configファイル変数"foo"を表示します。
{$smarty.config.foo} <-- {#foo#}と同じです。
{$foo[bar]} <-- sectionループ内でのみ正当な構文です。{section}の項を参照のこと。
{assign var=foo value='baa'}{$foo} <-- "baa"を表示します。{assign}の項を参照のこと。
その他多くの組み合わせが可能です。
{$foo.bar.baz}
{$foo.$bar.$baz}
{$foo[4].baz}
{$foo[4].$baz}
{$foo.bar.baz[4]}
{$foo->bar($baz,2,$bar)} <-- パラメータを渡します。
{"foo"} <-- 静的な値を使用できます。
{* サーバ変数 "SERVER_NAME" の内容を表示します ($_SERVER['SERVER_NAME'])*}
{$smarty.server.SERVER_NAME}
]]>
</programlisting>
</example>
<para><literal>$_GET</literal>
<literal>$_SESSION</literal> などのようなリクエスト変数は、
予約済の変数 <link linkend="language.variables.smarty">
<parameter>$smarty</parameter></link> の値で取得します。
</para>
<para>
<link linkend="language.variables.smarty">
<parameter>$smarty</parameter></link>
<link linkend="language.config.variables">config 変数</link>
<link linkend="language.function.assign"><varname>{assign}</varname></link>
および
<link linkend="api.assign"><varname>assign()</varname></link>
も参照してください。
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->