IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

arguments optionnels d'une fonction [PHP 7]


Sujet :

Langage PHP

  1. #1
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 367
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 367
    Points : 5 734
    Points
    5 734
    Billets dans le blog
    1
    Par défaut arguments optionnels d'une fonction
    Bonjour,

    j'avais compris que ce code : public function __construct($name : string, ? $region : string) était valide et que précéder le nom de l'argument par un point d'interrogation le rendait optionnel.
    https://haxe.org/manual/types-functi...arguments.html

    Mais il est pas content :
    Fatal error: Uncaught ArgumentCountError: Too few arguments to function Classes\Olivier\Country::__construct(), 1 passed in C:\wamp64\www\ticket2\test2.php on line 31 and exactly 2 expected in C:\wamp64\www\ticket2\Classes\Olivier\Country.php on line 12
    Peut-on donc déclarer comme optionnel un argument (et déclarer son type) ?
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  2. #2
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 858
    Points : 6 556
    Points
    6 556
    Par défaut
    j'avais compris que ce code : public function __construct($name : string, ? $region : string) était valide et que précéder le nom de l'argument par un point d'interrogation le rendait optionnel.
    https://haxe.org/manual/types-functi...arguments.html
    En Haxe ça doit sûrement être vrai.

    Sinon en PHP pour rendre un argument optionnel on le place à la fin et on lui donne une valeur par défaut:
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    class Truc
    {
        public function __construct(string $name, string $region = 'Toto') {
            var_dump($name);
            var_dump($region);
        }
    }
     
    new Truc('Martine', 'Jean-Louis');
    new Truc('La maîtresse');

    Tu peux aussi exploiter ... pour un nombre variable d'arguments:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public function __construct(string ...$args) {
        foreach($args as $arg) {
            echo $arg, PHP_EOL;
        }
    }
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. arguments optionnels d'une fonction
    Par samtheh dans le forum VBA Access
    Réponses: 3
    Dernier message: 06/06/2007, 11h24
  2. Argument optionnel d'une fonction
    Par Xunil dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 26/02/2007, 22h33
  3. Paramètre optionnel dans une fonction
    Par bractar dans le forum Langage
    Réponses: 3
    Dernier message: 10/03/2006, 17h02
  4. paramètre optionnel dans une fonction
    Par titoumimi dans le forum Langage
    Réponses: 2
    Dernier message: 02/02/2006, 15h29
  5. [PHP-JS] Arguments PHP d'une fonction javascript
    Par Néo-Tony dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 22/12/2004, 12h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo