Я знаю, что преимущества цепочки в 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-интерфейса: Martin Fowler on Fluent-Interfaces
Я полностью понимаю, что это не уже быть запрограммированы таким образом, и могут быть обработаны следующим образом:
$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()
. Это прекрасный пример Pro для этого типа программирования.
Классы должны, ИМО, проверять свои аргументы для экземпляров и аргументов тестирования/управления их методами. В моем классе mailer is_valid_email является частным методом внутри класса. – AutoSponge
«-» С (38, «HPK») -> Skippable() «Ситуация не является проблемой, например, в этом сценарии вы/класс можете знать, что Skippable применяется к последнему с добавленным. – Hannes
Да, но коэффициент удобочитаемости больше, чем обычные методы компиляции этого блока кода. Это просто про читаемость – RobertPitt