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] le constructeur et retour de valeur


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 66
    Par défaut [POO] le constructeur et retour de valeur
    salut
    est ce qu'un constructeur peut retourner une valeur ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    class A {
    var $nom
       function A($inputName){
       $this->nom=$inputName;
       return $this->nom;
    // ou return 50
    // ou return "text";
       }
    }
     
    $X=new  A("Rasmus");


    ?

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 657
    Par défaut
    Salut, et non

    Par définition, un constructeur ne peut rien retourner (ou plutot il retourne toujours l'instance crée).

    Ca me parait plutot logique, donc je ne vois pas bien comment tu voudrais te servir d'une valeur de retour d'un constructeur, car dans ce cas comment accedes tu à l'objet que tu viens de créer ?

  3. #3
    Membre éprouvé Avatar de galak63
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 126
    Par défaut
    la solution que tu peux utiliser c'est déclarer ton constructeur en privé et créer une fonction (type ::New ) publique et statique qui lance ton constructeur et comme çà tu pourra retourner ce que tu veux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    class A{
    private :
             A();
    public :
             static void New( A & a , TYPE & valeur );
    };
     
    void New( A & a , TYPE & valeur ){
           a = new A();
           valeur = toto;
    }

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 41
    Par défaut
    Et dire que c'est du php ca
    Me reste encore a apprendre ?



    I'mmmmm goinnng to goooogleeee....

  5. #5
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    Citation Envoyé par php4life
    est ce qu'un constructeur peut retourner une valeur ?
    Salut,

    J'aurais juste une question : pourquoi faire ?
    Eviter une ligne de code ?
    Ce ne sera pas forcément plus clair...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php
    $machin = new Truc();
    if (isset($machin->nom)) { ... }
    ?>
    C'est lisible, simple et court à coder.
    Pourquoi vouloir faire moins ? Un concours de one-liner ?

  6. #6
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 66
    Par défaut oui merci
    Salut tlm!
    oui j'avais bien deviner comme me l'as indiquer Taum qui ca retourne l'instance et rien d'autre

    pour galak63 , j'arrive pas a sortir du PHP4 , donc j'ai pas tout compris de ton code
    j'ai lu qlq tuto OOP PHP5 et ca me parait plus "Orienté Objets" que php4

    merci a vous tous !


    Ps: xaaros héhé t'inquiéte on arrête jamais d'apprendre ..

  7. #7
    Membre chevronné
    Avatar de genova
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 487
    Par défaut
    Le code que t'a donné galak63 c'est absolument pas du PHP

    Tu peux procéder comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    class A {
    var $nom;
    var $return;
       function A($inputName){
       $this->nom=$inputName;
     
       $this->return = $this->nom;
       }
    }
     
    $X=new  A("Rasmus");
    echo $X->return;
    (en gros tu mets la valeur que tu veux dans une des propriété de la classe).

    Le constructeur sert à initialiser les données, lui faire retourner une valeur n'aurait de toute façon pas de sens.
    Testez le forum Fire Soft Board, un forum libre, gratuit et français.

    Système de template de phpBB - Lisez la FAQ PHP avant toute question si vous débuttez en PHP.

  8. #8
    Membre éprouvé Avatar de galak63
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 126
    Par défaut
    Citation Envoyé par genova
    Le code que t'a donné galak63 c'est absolument pas du PHP
    Ouai peut etre, mais c'était pour le concept (en gros la je suis sur du C++ et je m'emmelle les pinceaux des fois ...)

Discussions similaires

  1. [POO] Poo : héritage & constructeur
    Par Invité dans le forum Langage
    Réponses: 3
    Dernier message: 11/07/2006, 14h29
  2. Erreur retour de valeur !!
    Par mana12 dans le forum C++
    Réponses: 1
    Dernier message: 24/06/2006, 12h12
  3. [VB.NET] Retour de valeur
    Par krfa1 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 02/05/2006, 09h32
  4. PB de retour de valeur dans formulaire
    Par Poutchou dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 05/04/2006, 16h10
  5. retour de valeur
    Par nemya dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 27/09/2005, 16h20

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