From a7e4a90d4038821b5bd6bc2ffaf28f01aa7289c9 Mon Sep 17 00:00:00 2001 From: lacatoire Date: Mon, 31 Aug 2026 13:44:37 +0200 Subject: [PATCH] reflection: document named arguments support in the ...Args methods --- .../reflectionclass/newinstanceargs.xml | 45 +++++++++++++++++-- .../reflectionfunction/invokeargs.xml | 26 ++++++++--- .../reflectionmethod/invokeargs.xml | 24 ++++++++-- 3 files changed, 83 insertions(+), 12 deletions(-) diff --git a/reference/reflection/reflectionclass/newinstanceargs.xml b/reference/reflection/reflectionclass/newinstanceargs.xml index 9186b69d22..b9bf8b841f 100644 --- a/reference/reflection/reflectionclass/newinstanceargs.xml +++ b/reference/reflection/reflectionclass/newinstanceargs.xml @@ -1,5 +1,5 @@ - + @@ -27,9 +27,25 @@ args - + Массив (array) аргументов, который затем передаётся в конструктор класса. - + + + Если все ключи массива args числовые, ключи + игнорируются, и каждый элемент передаётся конструктору как позиционный + аргумент, по порядку. + + + Если среди ключей массива args есть строковые, + эти элементы передаются конструктору как именованные аргументы, где именем + выступает ключ. + + + Функция выбрасывает ошибку Error, если + числовой ключ в массиве args идёт после строкового + или если строковый ключ не совпадает с названием ни одного параметра + конструктора. + @@ -54,6 +70,29 @@ + + &reftitle.changelog; + + + + + &Version; + &Description; + + + + + 8.0.0 + + Ключи массива args теперь интерпретируются + как названия параметров, а не игнорируются молча. + + + + + + + &reftitle.examples; diff --git a/reference/reflection/reflectionfunction/invokeargs.xml b/reference/reflection/reflectionfunction/invokeargs.xml index bac3fd74d4..53610fc593 100644 --- a/reference/reflection/reflectionfunction/invokeargs.xml +++ b/reference/reflection/reflectionfunction/invokeargs.xml @@ -1,5 +1,5 @@ - + @@ -26,10 +26,26 @@ args - - Передаваемые функции аргументы в виде массива. Поведение функции аналогично - call_user_func_array. - + + Параметры, которые передают функции, в виде массива (array). + Поведение аналогично функции call_user_func_array. + + + Если все ключи массива args числовые, ключи + игнорируются, и каждый элемент передаётся функции как позиционный + аргумент, по порядку. + + + Если среди ключей массива args есть строковые, + эти элементы передаются функции как именованные аргументы, где именем + выступает ключ. + + + Функция выбрасывает ошибку Error, если + числовой ключ в массиве args идёт после строкового + или если строковый ключ не совпадает с названием ни одного параметра + функции. + diff --git a/reference/reflection/reflectionmethod/invokeargs.xml b/reference/reflection/reflectionmethod/invokeargs.xml index 712f1f60a6..594006d48d 100644 --- a/reference/reflection/reflectionmethod/invokeargs.xml +++ b/reference/reflection/reflectionmethod/invokeargs.xml @@ -1,5 +1,5 @@ - + @@ -36,9 +36,25 @@ args - - Массив (array), содержащий аргументы функции. - + + Параметры, которые передают методу, в виде массива (array). + + + Если все ключи массива args числовые, ключи + игнорируются, и каждый элемент передаётся методу как позиционный + аргумент, по порядку. + + + Если среди ключей массива args есть строковые, + эти элементы передаются методу как именованные аргументы, где именем + выступает ключ. + + + Функция выбрасывает ошибку Error, если + числовой ключ в массиве args идёт после строкового + или если строковый ключ не совпадает с названием ни одного параметра + метода. +