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 :

[POO] Surcharge d'un constructeur


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Avril 2004
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 77
    Points : 58
    Points
    58
    Par défaut [POO] Surcharge d'un constructeur
    BOnjour, je voulais savoir si il etait possible de déclarer deux constructeurs ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public function __construct($url) {
     ...
    }
     
    public function __construct($videodb) {
     ...
    }
    le probleme c'est que la signature de la fonction va peut etre considérer comme etant la même pour les deux constructeurs ???? (bien qu'un soit un string et l'autre un tableau);

    Merci ?

  2. #2
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    Tu ne peux pas surcharger un constructeur en php (je ne suis meme pas sur que tu puisses surcharger une méthode ou une fonction d'ailleurs).

    EDIT: apres vérification dans le manuel, PHP ne supporte effectivement pas la surcharge de fonctions actuellement.

  3. #3
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    Nativement, non c'est vrai mais on peut contourner cela soit en utilisant les fonctions func_get_arg, func_num_args et func_get_args ou en utilisant la méthode magique __call (PHP 5 seulement).

    Dans votre cas, vous pourriez utiliser les fonctions is_* (is_array, is_string, ...) pour arriver à vos fins, non ?

  4. #4
    Membre averti Avatar de Rayndell
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    289
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 289
    Points : 323
    Points
    323
    Par défaut
    On ne peut pas surcharger des méthodes en php mais on peut assigner des valeurs par défaut aux arguments.
    "Et tu comprendras pourquoi mon nom est l'Eternel, quand sur toi s'abattra la colère du Tout-puissant."

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

Discussions similaires

  1. [PHP 5.2] [POO] Surcharge du constructeur d'une classe
    Par anaranjado dans le forum Langage
    Réponses: 5
    Dernier message: 28/08/2009, 12h23
  2. Réponses: 13
    Dernier message: 29/10/2008, 15h14
  3. [POO] Surcharge de constructeur
    Par loganblack dans le forum Langage
    Réponses: 4
    Dernier message: 17/05/2006, 12h26
  4. [POO] surcharger le constructeur
    Par wdionysos dans le forum Langage
    Réponses: 9
    Dernier message: 22/03/2006, 15h42
  5. [Constructeur]Pb avec la surcharge d un constructeur
    Par cmoulin dans le forum Langage
    Réponses: 3
    Dernier message: 26/04/2004, 09h29

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