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 :

setter/getter qui échoue [POO]


Sujet :

Langage PHP

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

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 500
    Billets dans le blog
    1
    Par défaut setter/getter qui échoue
    Bonjour,

    on crée un objet dans lequel on va stocker des données à afficher :
    $ref_LicenseData = new LicenseData();pour pouvoir récupérer de partout cet objet, on mémorise son référent dans une variable de session :
    $_SESSION['ref_LicenseData'] = $ref_LicenseData;.

    Ensuite sélection d'une application (formulaire html).
    On en récupère le nom et on le stocke dans l'objet créé plus haut :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    session_start(); 
    $ref_licensedata = $_SESSION['ref_LicenseData'];
    $ref_licensedata->setAppliName($_POST['list']);


    un debug pas à pas (XDebug depuis PhpStorm) me montre que c'est effectif.

    Je vérifie juste après l'existence de la propriété :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    UtilFct::debug("ldisplistapp 29  getAppliName ",  $ref_licensedata->getAppliName()); //var_dump amélioré


    Mon souci est que la propriété est nulle.

    LicenseData.php :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    class LicenseData
    { //réduit à ce qui nous intéresse
     private $appli_name;
     
     public function setAppliName($appli_name)
        {
            $this->appli_name = $appli_name;
        }
     
        public function getAppliName()
        {
            return $this->appli_name;
        }
    }


    Pourquoi ?

  2. #2
    Membre éprouvé
    Homme Profil pro
    Webmaster - Développeur/intégrateur web
    Inscrit en
    Septembre 2011
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Webmaster - Développeur/intégrateur web
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2011
    Messages : 210
    Par défaut
    Bonjour,

    Perso, je ne suis pas sur que le passage en référence fonctionne avec les sessions... d'ailleurs je ne sais pas si c'est judicieux de stocker des objets en session, pour moi c'est plutôt fait pour les variables de type "classiques" (Int, Float, String,...),
    mais bon après si ça fonctionne, pourquoi pas.

    Qu'est ce que ça donne si tu fais ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    session_start(); 
    $ref_licensedata = $_SESSION['ref_LicenseData'];
    $ref_licensedata->setAppliName($_POST['list']);
     
    UtilFct::debug("ldisplistapp 29  getAppliName ",  $_SESSION['ref_LicenseData']->getAppliName()); // Quel est le résultat du var_dump amélioré sans rechargement de page ? est-ce que tu retrouve le contenu de $_POST['list'] ?

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

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 500
    Billets dans le blog
    1
    Par défaut
    Merci pour ta réponse.

    Pour les types "simples", je crois qu'on parle de types scalaires...

    Sinon, te répondre n'est pas possible, car ayant changé de stratégie, la méthode setAppliName n'existe plus...Je comptais cocher quand cette autre stratégie serait au point. C'est pas encore le cas, mais pour ne pas faire perdre du temps aux membres DVP, je le fais.

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

Discussions similaires

  1. Setter et getter qui renvoient une nullPointerException
    Par linkdelaudela dans le forum Langage
    Réponses: 2
    Dernier message: 07/05/2013, 08h58
  2. [VB6] Upload fichier xls qui échoue (missing css file)
    Par pom dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 28/06/2006, 14h10
  3. [C#]Authentification qui échoue : a chaque fois "Login inco
    Par The_revival dans le forum ASP.NET
    Réponses: 3
    Dernier message: 15/04/2006, 22h36
  4. Réponses: 8
    Dernier message: 07/12/2005, 14h44
  5. [Bean] Automatiser les appels de setters / getters
    Par shinchun dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 27/12/2004, 15h18

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