Я обычно использую массив только если несколько аргументов не являются обязательными.Например, если у меня есть отчет, который может содержать идентификатор компании, идентификатор сотрудника или оба.У меня не будет function report ($CompanyID = null, $EmployeeID = null)
, я сделаю function report($array)
, а затем внутри функции сделаю if (isset($array['company_id']))...
и т. Д.
Если вы считаете, что вам нужно использовать массив, потому что у вас слишком много аргументов,это, вероятно, признак того, что функция слишком сложна и ее нужно разделить.
Редактировать: обратите внимание, что это более общий ответ, так как я не уверен, как это относится к вашей проблеме с сеттером, поскольку логическисеттер должен принимать только один аргумент.В вашей ситуации, если ваш $this->something
ожидает массив, присвойте ему массив, а не аргументы, которые вы должны затем превратить в массив.