[英]PHP Dynamic Method Chaining
如何将多个方法链接在一起而不知道会有多少个方法? 例如,如何像循环一样多次调用此addMultiLink方法?
(new EntryField('products'))->addMultiLink($product_ids[0])
基本上,我希望结果是这样的:
(new EntryField('products'))->addMultiLink($product_ids[0])->addMultiLink($product_ids[1])->addMultiLink($product_ids[2])
在您的addMultiLink
返回$this
:
public function addMultiLink($argument)
{
// your code here
return $this;
}
但是正如我所看到的,您每次调用时都会在函数中传递数组元素。 也许最好重写addMultiLink
并将其参数视为数组? 或检查它是否为数组或某个整数值:
public function addMultiLink($argument)
{
if (is_array($argument)) {
// do a foreach loop for example
} else {
// do something else
}
}
$product_entry_field = (new EntryField('products'));
foreach($product_ids as $product_id) {
$product_entry_field->addMultiLink($product_id);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.