PHPでメソッドを条件付きで連鎖させるにはどうすればよいですか?たとえば、これは正常に動作します。メソッドを条件付きで連鎖させますか?
$a->foo()->bar->baz->qux();
ただし、状況によっては、いくつかの方法を連鎖させたいが、他の方法は連鎖したくない。基本的には、次のコードを短く:次のようなものがうまくいく理想的
if ($cond === true) {
$a->foo()->baz();
} else {
$a->foo()->bar();
}
を:
$a->foo()
->bar()
($cond === true) ? ->baz() : ->qux()
->more();
また、どのように我々は条件付きで条件に応じて、方法(またはしない)チェーンのでしょうか?例:あなたが探しているもの
$a->foo()
->bar()
if($cond === true) ->baz()
->more();
必要がありませんが、そのようなあなたのコードをあいまいにすることを行うことができます方法を示し、以下の自己説明モックスニペット。少年である "見た目のクール"とは別に短い表記には0のメリットがあります。もしあなたが学びたいと思っているなら、それよりもプログラマーを育ててください。 – Weltschmerz
@Weltschmerz私の特別なケースでは、それは見た目のクールな問題ではありませんが、私は単にこのようなことをしないでこのクラスを使用する方法を知りません。ですから、それは知識の不足や間違った質問の問題です。次回はもっと具体的な質問をします。 – LookingToLearn