Comment utiliser les arguments par défaut en php
-
26-09-2019 - |
Question
Je veux définir une doSomething(arg1, arg2)
fonction avec des valeurs par défaut pour arg1 = val et arg2 = val
Quand j'écris
function doSomething($arg1="value1", $arg2="value2"){
// do something
}
Est-il possible maintenant d'appeler doSomething avec arg1 par défaut et arg2 = "new_value2"
La solution
Nope, malheureusement, cela est impossible. Si vous définissez $arg2
, vous devrez définir $arg1
ainsi.
Autres conseils
Parfois, si j'ai beaucoup de paramètres avec les valeurs par défaut, je vais utiliser un tableau pour contenir les arguments et fusionner avec les valeurs par défaut.
public function doSomething($requiredArg, $optional = array())
{
$defaults = array(
'arg1' => 'default',
'arg2' -> 'default'
);
$options = array_merge($defaults, $optional);
}
fait vraiment de sens que si vous avez beaucoup d'arguments cependant.
function doSomething( $arg1, $arg2 ) {
if( $arg1 === NULL ) $arg1 = "value1";
if( $arg2 === NULL ) $arg2 = "value2";
...
}
Et à l'appel:
doSomething();
doSomething(NULL, "notDefault");
Avez-vous déjà assign arg1 mais pas arg2? Sinon, j'intervertir l'ordre.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow