ホーム > PHP > 2つ以上引数があるPHP関数をSmarty内で使う。

2つ以上引数があるPHP関数をSmarty内で使う。 このエントリーを含むはてなブックマーク はてなブックマーク - 2つ以上引数があるPHP関数をSmarty内で使う。

2007 年 5 月 17 日

【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
できました。感覚的にはパイプを通るのはリテラルじゃなくて変数であって欲しいんだけども。

・・・これはおれの頭が固いってことなんだろうか。


カテゴリー: PHP タグ:
  1. 2007 年 5 月 18 日 00:48 | #1

    kjirou先生すげぇ。。。
    その発想ないわーー

    わざわざプラグイン化してました。。

  2. yoshuki
    2007 年 5 月 19 日 00:11 | #2

    自分で調べるのも大事だけど人と話すってのも大事ッスねー。

コメントは受け付けていません。