Wie überspringt ich die vom Standard -Argumente benannten Argumente, während ein benanntes variadisches Argument in einePhp

PHP-Programmierer chatten hier
Anonymous
 Wie überspringt ich die vom Standard -Argumente benannten Argumente, während ein benanntes variadisches Argument in eine

Post by Anonymous »

Ich habe eine vorhandene Methode: < /p>

Code: Select all

public function dbQuery(
string $query,
bool $flag1 = false,
int $flag2 = SOME_DEFAULT,
bool $flag3 = false
)
< /code>
Jetzt möchte ich es anpassen, damit es möglich ist, Bindungswerte als variadische Argumente zu übergeben, ohne die aktuelle Schnittstelle zu brechen (ich weiß, dass Argumflags ein Anti-Muster sind), um: < /p>
 < />  zu sein.public function dbQuery(
string $query,
bool $flag1 = false,
int $flag2 = SOME_DEFAULT,
bool $flag3 = false,
mixed ...$params
)
< /code>
Wie kann ich DBQuery aufrufen, während ich die Standardflags beibehält, während ich Params [url=viewtopic.php?t=23808]übergeben[/url] kann?->dbQuery('my query', params: [1, 2, 3]);
, aber es kommt als Array in der ersten Variadic Arg. $ params = [[1, 2, 3]]
[*]

Code: Select all

->dbQuery('my query', params: ...[1, 2, 3]);
ist ungültige Syntax
[*]

Code: Select all

->dbQuery('my query', ...['params' => [1, 2, 3]]);
Gleiches Ergebnis wie Option 1

Nichts mit ganz dieser Verwendung wird in:
https://wiki.php.net/rfc/variadics
oder https:/wiki.php.net/rfc/named_params in the später in the später in the später in thatrfc/named_params gezeigt. Zeigt explizit an, dass die Standard -Argumente vor Variadik eine gültige Signatur darstellen, aber nicht, wie man auf die Variadien zugreift.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post