在活动记录模式和构建器模式中,可能会遇到所谓的“流体”方法,其中包含非动词名称,例如
public function carRadio(...);
public function driver(...);
The ellipsis (...) indicates zero or more arguments.
以上的目的是简洁。有时暴露一个公共财产就足够了,但有时你想要做的不仅仅是分配一个对象。
e.g。
$kid = Kindergarden::find(33);
$kid->food($carrot);
assert($carrot == $kid->food());
粗略地说,这意味着给孩子一些食物,但在食物方法中你可能需要检查过敏或其他一些食物。
bulilder模式示例可能如下所示:
$threeThousandWatts = Generator::create();
$threeThousandWatts->wires($w)->fuel($gas)->schedule($timeSlot);
......你明白了。
问题是,你(你读过的文学)如何调用一个也是一个存取器的mutator?
PS。这不适用于公共API。这只是一个普遍的问题。