2015-11-04 133 views
1

如何將多個方法鏈接在一起而不知道會有多少個?例如,我怎樣才能像循環一樣多次調用這個addMultiLink方法?PHP動態方法鏈接

(new EntryField('products'))->addMultiLink($product_ids[0]) 

基本上我想要的結果是這樣的:

(new EntryField('products'))->addMultiLink($product_ids[0])->addMultiLink($product_ids[1])->addMultiLink($product_ids[2]) 
+0

沒有,它是更多關於如何做一個循環 –

+0

哦一個問題,我看到的。抱歉標記。 – somesoaccount

回答

1

在你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 
    } 
} 
0
$product_entry_field = (new EntryField('products')); 
    foreach($product_ids as $product_id) { 
     $product_entry_field->addMultiLink($product_id); 
    }