Аргумент "непустой индексный массив строк" на чистом PHP и с использованием Psalm:
Оба варианта по-своему интересны, выбирайте исходя из типичного контекста использования функции/метода.
Если аргументы объявляются при вызове, я советую использовать оператор
В остальных случаях передаваемое значение скорее всего уже будет "на руках" в виде списка, поэтому аргумент лучше объявить массивом.
function native(string $name, string ...$names): void
{
foreach ([$name, ...$names] as $name) {
// ...
}
}
/**
* @psalm-param non-empty-list<string> $names
*/
function psalm(array $names): void
{
foreach ($names as $name) {
// ...
}
}
Оба варианта по-своему интересны, выбирайте исходя из типичного контекста использования функции/метода.
Если аргументы объявляются при вызове, я советую использовать оператор
...
Например, в билдере SQL запросов колонки удобнее передавать аргументами:
$db
->select('respondent_id', 'value')
->from('evaluation')
В остальных случаях передаваемое значение скорее всего уже будет "на руках" в виде списка, поэтому аргумент лучше объявить массивом.