PHP动态方法链接
问题描述:
如何将多个方法链接在一起而不知道会有多少个?例如,我怎样才能像循环一样多次调用这个addMultiLink方法?PHP动态方法链接
(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);
}
没有,它是更多关于如何做一个循环 –
哦一个问题,我看到的。抱歉标记。 – somesoaccount