最近ようやくPHP5をちょこちょこと触ってるわけなんですが、折角メソッドチェーンサポートされたのに何故かnewと同時にできない罠。 これなんか動いても良さそうなのになぁ。直感的だし。 <?php (new Foo)->bar(); 嘆いてもしょうがない。動かないものは動かないので、ちょこちょこと調べてたらこんなのが そこで以下のような関数を定義する。 <?php function ref($obj) { return $obj; } この関数はみたとおり渡された値をそのまま返す関数だが、これを使うことで以下のようにメソッドチェーンできるようになる。 <?php ref(new Hoge)->doSomething(); というバッドノウハウっぽい話。 PHPでコンストラクタからメソッドチェーンする方法 - id:anatooのブログ やっぱこれくらいしかないよねー。 でも標準関数だけでやり