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