Argument de fonction, dois-je tout définir ?

Le problème exposé dans ce sujet a été résolu.

Hello :)

J’ai vérifié ici : https://www.php.net/manual/fr/functions.arguments.php , mais je n’ai pas trouvé ce que je cherche.

En gros si j’ai cette fonction :

function test($a, $b, $c = false, $d = 'D', $e)
{
  /*
    Code
  */
}

Dois-je définir tous les arguments de la fonction pour arriver à $e ? où on peut directement le définir directement, par exemple :

function test($e = 'ok')

J’ai essayé comme ça, ça ne fonctionne pas, donc si c’est possible, comment faire ?

Cordialement

+0 -0

Salut,

Il faut que tu définisses les arguments ayant une valeur par défaut à la fin de ta fonction :

function test($a, $b, $e, $c = false, $d = 'D')
{
  /*
    Code
  */
}

test('a', 'b', 'e');

Et si tu veux définir $d, il te faudra également appeler $c.

+1 -0

Très bien, merci.

Dommage que PHP ne puisse pas gérer se genre de truc.

Par exemple, si on définit le nom exact de la fonction, on peut la mettre n’importe où, comme les SELECT avec MySQL. :P

+0 -0

Si ça t’intéresse, un article sympa sur le sujet.

Paramètres nommés en PHP

tl;dr: C’est possible de manière non native, ça à un coup en matière de maintenabilité, de clarté et c’est moche.

+1 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte