public function dbQuery(string $query, bool $flag1 = false, int $flag2 = SOME_DEFAULT, bool $flag3 = false)
теперь я хочу адаптировать его, чтобы можно было передавать значения привязки в качестве аргументов vardic, но не нарушая текущий интерфейс (я знаю, что флаги arg являются антишаблоном), чтобы быть :
Ничего подобного использования не показано в: https://wiki.php.net /rfc/variadics
или https://wiki.php.net/rfc/named_params
хотя в более позднем RFC явно показано, что именованные аргументы по умолчанию перед vardics являются допустимыми подпись, а не как получить доступ к вардикам.
Хорошо, у меня есть существующий метод: [code]public function dbQuery(string $query, bool $flag1 = false, int $flag2 = SOME_DEFAULT, bool $flag3 = false) [/code] теперь я хочу адаптировать его, чтобы можно было передавать значения привязки в качестве аргументов vardic, но не нарушая текущий интерфейс (я знаю, что флаги arg являются антишаблоном), чтобы быть : [code]public function dbQuery(string $query, bool $flag1 = false, int $flag2 = SOME_DEFAULT, bool $flag3 = false, mixed ...$params) [/code] как мне затем вызвать dbQuery, сохраняя флаги по умолчанию при передаче параметров? Я пробовал: [list] [*][code]->dbQuery('my query', params: [1, 2, 3]);[/code], но он отображается как массив в первом аргументе vardic, например. $params = [[1, 2, 3]] [*][code]->dbQuery('my query', params: ...[1, 2, 3]);[/code] имеет неверный синтаксис. [*][code]->dbQuery('my query', ...['params' => [1, 2, 3]]);[/code] тот же результат, что и у варианта 1. [/list] Ничего подобного использования не показано в: https://wiki.php.net /rfc/variadics или https://wiki.php.net/rfc/named_params хотя в более позднем RFC явно показано, что именованные аргументы по умолчанию перед vardics являются допустимыми подпись, а не как получить доступ к вардикам.