ダブルクォート内に埋め込まれた変数 (基本構文) - PHPプロ!マニュアル

Smartyマニュアル

基本構文 - ダブルクォート内に埋め込まれた変数

ダブルクォート内に埋め込まれた変数

  • Smarty が "ダブルクォート" で囲まれた内容の中から 割り当てられた 変数 として認識するのは、変数名が数字・文字・_(アンダースコア)・[](ブラケット) のみで構成されているもののみです。詳細は 名前の付けかた を参照ください。

  • その他の文字、たとえば .(ピリオド)や $object>reference (オブジェクト参照)を含む場合は、 その変数を `バッククォート` で囲む必要があります。

  • 修飾子 を埋め込むことはできず、 常にクォートの外で適用する必要があります。

例 3-5. 構文の例

{func var="test $foo test"}       <-- $foo を参照します
{func var="test $foo_bar test"}   <-- $foo_bar を参照します
{func var="test $foo[0] test"}    <-- $foo[0] を参照します
{func var="test $foo[bar] test"}  <-- $foo[bar] を参照します
{func var="test $foo.bar test"}   <-- $foo (not $foo.bar) を参照します
{func var="test `$foo.bar` test"} <-- $foo.bar を参照します
{func var="test `$foo.bar` test"|escape} <-- 修飾子はクォートの外で!

例 3-6. 実用例

{* $tpl_name を値で置き換えます *}
{include file="subdir/$tpl_name.tpl"}

{* $tpl_name を置き換えません *}
{include file='subdir/$tpl_name.tpl'} <--

{* . を含むのでバッククォートで囲む必要があります *}
{cycle values="one,two,`$smarty.config.myval`"}

{* php スクリプトでの $module['contact'].'.tpl' と同じです
{include file="`$module.contact`.tpl"}

{* php スクリプトでの $module[$view].'.tpl' と同じです
{include file="$module.$view.tpl"}

escape も参照してください。



Pick Up Q&A

Q
ログファイルの中の空のデータ行を削除したい
 このエントリーをはてなブックマークに追加 
A
ログのデータ個数(列数)が固定で、空のログが"<><><>"だと既知であれば if ($line === "<><><>") { continue; } で読み飛ばしてもいいのでは? ...

>>続きを読む

まずは配列や文字列の扱いから、じっくり勉強して行きましょう。

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)

Q&A掲示板 新着情報