Не существует правильного пути , но я бы использовал ArticleService::createArticle($articleData, $userId);
в данном конкретном случае.
Я предполагаю, что статья имеет обязательное непустое свойство userId (которое вы получаете из контекста) и необязательные (не очень важные) данные содержимого, которые могут быть пустыми.
Таким образом, связь между статьей и объектами пользователя очевидна. Читаемость немного улучшена. В противном случае вы должны быть полностью знакомы как с необходимыми данными, так и с методом createArticle.
Как доказательство: мгновенно, когда я увидел ArticleService::createArticle($articleData, $userId)
, я понял, что делает метод и что ожидает от входных данных, а второй удивил меня.
Кроме того, если userId отсутствует, вы получите ошибку в этот момент, а не в тот момент, когда вы вставляете его в базу данных, где вы, вероятно, получите ошибку SQL, которую гораздо сложнее отследить.
С другой стороны, в ZF достаточно часто использовать массивы в качестве параметров, чтобы ваш код мог выглядеть в другом стиле.
Однако это в основном зависит от ваших предпочтений.