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 являются допустимыми подпись, а не как получить доступ к вардикам.
Прочитав реализацию std::pair в исходном коде gcc, я обнаружил один из конструкторов по умолчанию, как показано ниже:
template
struct pair
: public __pair_base
{
typedef _T1 first_type; ///
constexpr pair()
: first(), second() { }
...
}
В следующем коде у меня есть два класса. Я хочу получить эхо от класса IT_HTML_Content, которое затем будет передано в виде аргумента в IT_HTML_Panel и передано по его позиции для выполнения эха второго класса с существующим эхом из первого класса....