PHP内でチェーンすることの利点は知っていますが、次のような状況になっているとしましょう。
$Mail = new MailClass("mail")
->SetFrom("X")
->SetTo("X")
->SetSubject("X")
->AddRecipient("X")
->AddRecipient("X")
->AddRecipient("X")
->AddRecipient("X")
->AddRecipient("X")
->AddRecipient("X")
->Send();
オブジェクトを何度も繰り返し再利用することに関する問題、速度やベストプラクティスに従わないことなどの問題はありますか?
Fluent-Interfaceを初めて使用する場合は、これについてもよく読んでください:Fluent-InterfacesのMartin Fowler
このようにプログラムする必要はなく、次のように処理できることを完全に理解しています。
$Mail = new MailClass("mail");
$Mail->AddRecipien(
array(/*.....*/)
);
$Mail->SetFrom("X");
$Mail->SetTo("X");
$Mail->SetSubject("X");
$Mail->Send();
しかし、私がそのようなオブジェクトを持っているとしましょう:
$Order = new Order()
->With(22,'TAL')
->With(38,'HPK')->Skippable()
->With(2,'LGV')
->Priority();
注意してください->With(38,'HPK')->Skippable()
、これはこのタイプのプログラミングのためのプロの完璧な例です