PHPでSmartyを活用されている方は多いかと思いますが、 何年もたって「実はこんな機能があったのか~!」と後から 気づくことが多々あります。 今回は私がもっと前に知っておけば良かったと 思う機能を中心にいくつかご紹介します。 テンプレート内で定数を使用する PHPでdefineされた定数をテンプレートで使用したい場合、
Smartyでは、テンプレート内で {assign var="変数名" value="変数の内容"}と書くことで変数を定義できますが、配列の定義はphp側でしかできません。そこで、普段使ってる配列定義のプラグインをご紹介。 <?php /** * Smarty plugin {assign_array} * * usage: {assign_array var="var" values="val1[,val2,val3...]" [separator=","]} * * テンプレート内で配列を定義するSmartyプラグイン。 * 変数varに配列を格納する。配列の値はvaluesにカンマ区切りで記述する。 * separatorを指定することで、カンマ以外の文字を区切り文字に指定できる。 * * @package Lism::Plugins * @version $Id: function
「えー!sfSmartyViewPlugin使っていいのは小学生(ry」と言われようが、使わざるを得ない状況なので。 sfSmartyViewPluginはsymfonyでSmartyを使うためのプラグインですが、dinoのブログで叩かれたり(?)してるように、手直ししてやらないと使い勝手が悪いです。 とりあえず、「こんな感じで使ってますよー」的なものをまとめてみました。 Smartyのdefault_modifierでescapeしたいよ まあ、sfSmartyViewPluginに限らず、Smarty使うときはいつもやってる話ですが。 Smartyのdefault_modifierでescapeを指定できると、変数出力時のエスケープ漏れがなくなるのでかなり良い感じなんですが、Smarty付属のsmarty_modifier_escapeは内部で表示する値の型判定していません。なので、d
Symfony で Smarty は 使わない方がいいです 冒頭から否定的ですいませんが、現状では Symfony で Smarty は使わない方がいいです。 逆にメンドウ。 下記は Symfony + Smarty で作り始めて、引くに引けなくなった人のバッドノウハウです。 JavaScript が素直に書けない ちょっとしたJavaScript関数だったらテンプレートに直書きしたい。 でも素直には書けない。・・・Smartyのデリミタが'{'と'}'だから。 普通は '{ldelim}' と '{rdelim}' を使うんだろうけど、JavaScriptヘルパーとの兼ね合いでもちろん使えません。 Smartyのデリミタを変更するとか、JavaScriptヘルパーいらねえ!とかやりようはいくらでもありますが、もはやテンプレートとは呼べない代物になる。 まぁ、このケースは'{
ファイル/ディレクトリ † apps/*/lib/smarty アプリケーションSmartyプラグイン置き場 apps/*/modules/*/lib/smarty モジュールSmartyプラグイン置き場 lib/smarty 汎用Smartyプラグイン置き場 vendor/Smarty-x.y.z Smartyのインストール先 tmp/smarty Smartyの一時ファイル置き場 tmp/smarty/cache キャッシュ用 tmp/smarty/templates_c テンプレートのコンパイルファイル用 ↑
Services Platform.sh for Symfony Best platform to deploy Symfony apps SymfonyInsight Automatic quality checks for your apps Symfony Certification Prove your knowledge and boost your career SensioLabs Professional services to help you with Symfony Blackfire Profile and monitor performance of your apps
symfony.jp 2020 Copyright. All Rights Reserved. The Sponsored Listings displayed above are served automatically by a third party. Neither the service provider nor the domain owner maintain any relationship with the advertisers. In case of trademark issues please contact the domain owner directly (contact information can be found in whois). Privacy Policy
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く