有条件有条件地建立链条吗?例如:
$chain = $restaurant->allFoods()->$filter->get();
然后$filter
动态或有条件设置
if ($user == "vegetarian")
{
$filter = "->onlyVegetables()";
}
因此,如果满足条件,链将变为:
$chain = $restaurant->allFoods()->onlyVegetables()->get();
否则
$chain = $restaurant->allFoods()->get();
这可能吗?这个叫什么?谢谢
答案 0 :(得分:2)
是的,通过方法__get / __调用重载,具体取决于你是否需要将参数传递给过滤器。
<?php
function __get($user) {
if($user == 'vegetarian') {
return $this->onlyVegetables();
}
return $this;
}