Как я могу объединить несколько методов, не зная, сколько их будет? Например, как я могу вызвать этот метод 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);
}