【PHP TIPS】 27. Smarty内でPHP関数を使う:ITpro
上記のように引数を持つ場合はSmarty変数が第1引数となり、第2引数以降は:で 区切って渡します。 このような使い方にはあまり遭遇しないと思いますが、頭の隅に入れておけば必 ず役に立つ日がきます!
まことに不本意ながら役に立つ日がきたわけですが、この「パイプを通ってきたものは自動的に第1引数になる」ってのがくせ者で。
str_replace("b", "z", $hoge);
ってやりたくて、
{$hoge|str_replace:"b":"z"}
ってすると、
str_replace($hoge, "b", "z");
ってことになる。
なんだこのqあwせdrftgyふじこlp;って思ってたら、エンゲル係数が高いことで有名なkjirouさんにこんなコメントを賜りました。
{“b”|str_replace:”z”:$hoge} はしたくない的な?
あーその発想は(ry
できました。感覚的にはパイプを通るのはリテラルじゃなくて変数であって欲しいんだけども。
・・・これはおれの頭が固いってことなんだろうか。
コメント
kjirou先生すげぇ。。。
その発想ないわーー
わざわざプラグイン化してました。。
自分で調べるのも大事だけど人と話すってのも大事ッスねー。