[英]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.