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 confirmé
    Inscrit en
    Avril 2004
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 77
    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
    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
    Membre expérimenté

    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
    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 chevronné Avatar de Rayndell
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    289
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 289
    Par défaut
    On ne peut pas surcharger des méthodes en php mais on peut assigner des valeurs par défaut aux arguments.

+ 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, 13h23
  2. Réponses: 13
    Dernier message: 29/10/2008, 16h14
  3. [POO] Surcharge de constructeur
    Par loganblack dans le forum Langage
    Réponses: 4
    Dernier message: 17/05/2006, 13h26
  4. [POO] surcharger le constructeur
    Par wdionysos dans le forum Langage
    Réponses: 9
    Dernier message: 22/03/2006, 16h42
  5. [Constructeur]Pb avec la surcharge d un constructeur
    Par cmoulin dans le forum Langage
    Réponses: 3
    Dernier message: 26/04/2004, 10h29

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