Начиная с PHP 8.0, появилась возможность использовать именованные аргументы при вызове функций. Это позволяет передавать значения в функцию, указывая имена параметров, а не только их позиции.
Пример функции:
Обычно вызов функции выглядит так:
В этом случае $needle - это 'awesome', а $haystack - 'PHP is awesome!'. Однако такой вызов не всегда очевиден: легко перепутать порядок аргументов, что приведёт к ошибке.

Решение с помощью именованных аргументов

PHP 8.0 позволяет явно указывать имена параметров:
Теперь порядок не важен, и код становится более читаемым:
Полный пример:

Пропуск аргументов по умолчанию

Рассмотрим функцию для создания HTML-ссылки:
Без именованных аргументов, чтобы изменить только target, пришлось бы указывать все предыдущие параметры:
С именованными аргументами это проще:
Полный пример:

Смешивание именованных и позиционных аргументов

PHP позволяет комбинировать позиционные и именованные аргументы, но именованные должны идти после позиционных:
Если поменять их местами, возникнет ошибка:

Вывод

Используйте именованные аргументы для повышения читаемости и надёжности кода. При смешивании с позиционными аргументами всегда размещайте именованные после позиционных.