Smartyで開発している時にハマったので、個人用メモです。
Smartyのデリミタは、デフォルトでシングル中括弧である
- Smartyのデリミタは、デフォルトだとシングル中括弧(波括弧)です。
- 人によりけりかもしれませんが、シングル中括弧は少しもとなく、インラインCSSやインラインJSなどで誤作動しそうな不安があります。
{$name}
Smartyのデリミタを、ダブル中括弧に変更する
- そこで、
{{$name}}
のダブル中括弧方式に変更します。
<?php require('vendor/autoload.php'); $smarty = new Smarty(); // デリミタの変更 $smarty->left_delimiter = '{{'; $smarty->right_delimiter = '}}'; $smarty->assign('name', 'abcdefg'); $smarty->display('index.html'); // index.html // {{$name}} が置換される
あとがき
- Smartyが、デフォルトでシングル中括弧を採用している理由が気になります。
- 案外シングルでも大丈夫だったりするかもしれないので、もしかしたら、単に私の気にしすぎという可能性もありそうです。