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] Probleme de variable


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Inscrit en
    Septembre 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 6
    Par défaut [POO] Probleme de variable
    Bonjour

    J'ai un petit problème avec des variables que j'utilise dans 2 fonction.

    par exemple

    class test
    {
    public $variable1;

    function fonction1()
    {
    /*divers action*/
    $i=1;
    $this -> variable1="$i";
    }

    function fonction2()
    {
    /*divers action*/
    echo $this -> variable1;
    }
    }

    la fonction 2 ne m'affiche rien, alors que si je palce le echo dans la fonction 1 elle m'affiche 1

    Comment je peu faire pour que le résultat de ma fonction1 soit valable dans la fonction2 sachant qu'il serait inutil d'utiliser la fonction1 dans la fonction2 car cela me ferait réutiliser plein de partie de la fonction1 pour rien, notament des resultat de requete SQL.


    Merci pour votre aide

  2. #2
    Membre confirmé Avatar de wdionysos
    Profil pro
    Consultant informatique
    Inscrit en
    Novembre 2003
    Messages
    222
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 222
    Par défaut la porté des variables
    attention ton opérateur this ainsi placé dans des fonction à une porté locale à cette fonction. ce qui veut dire que tu n'appelle pas la meme variable dans tes deux fonctions. lorsque une variable est locale à une fonction, elle disparait sitôt que la fonction se termine.

    une petite relecture des différent tutorial du site sur les variables en PHP et leur porté te serait utile.

    remarque : ce probleme n'est pas propre a PHP mais la porté des variable est un phénomène courant en POO !!

    WDionysos

  3. #3
    Rédacteur

    Homme Profil pro
    Geek entrepreneur
    Inscrit en
    Novembre 2004
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Geek entrepreneur

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 224
    Par défaut
    ?
    Non, justement. En php, pour faire référence a une variable de classe, il faut utiliser this.

    Tu peux montrer l'appel a tes fonctions aussi ?

  4. #4
    Nouveau membre du Club
    Inscrit en
    Septembre 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 6
    Par défaut
    ok merci, j'espere que jevais vite trouver la solution

    [edit]

    Je les appel dasn une fonction d'affichage plus bas

    $this -> fonction2()

    $this -> fonction1()

    et il faut qu'elle soit appeler dans cette ordre
    [/edit]

  5. #5
    Membre confirmé Avatar de wdionysos
    Profil pro
    Consultant informatique
    Inscrit en
    Novembre 2003
    Messages
    222
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 222
    Par défaut boh eh hein bon
    bon d'accord j'ai fait plein de "fotes" d'orthographe et de frappe mais c'est la fatigue. "fo" que j'ailles prendre mon gouter !!!



    WDio

  6. #6
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut Re: la porté des variables
    Citation Envoyé par wdionysos
    attention ton opérateur this ainsi placé dans des fonction à une porté locale
    -1
    Je ne vois pas en quoi $this est local puisqu'il représente l'objet

  7. #7
    Membre confirmé Avatar de wdionysos
    Profil pro
    Consultant informatique
    Inscrit en
    Novembre 2003
    Messages
    222
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 222
    Par défaut heu ...
    oui c'est vrai je suis vraiment fatigué !!! autant pour moi, j'avait mal lu
    WDio

  8. #8
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut

    Si tu appelle fonction2 avant fonction1, il est normal que tu ne voies pas les modifs faites dans fonction1 !!!

  9. #9
    Nouveau membre du Club
    Inscrit en
    Septembre 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 6
    Par défaut
    c'est que j'ai pas trop le choix pour l'ordre d'apel des focntions^^

  10. #10
    Rédacteur

    Homme Profil pro
    Geek entrepreneur
    Inscrit en
    Novembre 2004
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Geek entrepreneur

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 224
    Par défaut
    Dans ce cas, invoque le dieu du PHP, il pourra peut être permettre a fonction2 de deviner le résultat de fonction1

    Mais plus simplement, revoies le raisonnement de ton process. Ca t'évitera de compter sur un miracle ^^

  11. #11
    Membre Expert Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Par défaut
    tu peux pas inverser le contenu des 2 fonctions :

  12. #12
    Nouveau membre du Club
    Inscrit en
    Septembre 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 6
    Par défaut
    je suis en train de voir pour placer mes variable dans le constructeur, sa sera plus simple

    Merci pour votre aide

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

Discussions similaires

  1. [POO] Problème avec une variable static
    Par grimsk dans le forum Langage
    Réponses: 5
    Dernier message: 23/05/2006, 01h58
  2. [POO] probleme d'acces aux parametres un objet
    Par lejert dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 19/04/2005, 09h13
  3. [langage] Probleme de variable transfert de contenu
    Par Ludo167 dans le forum Langage
    Réponses: 10
    Dernier message: 08/07/2004, 11h40
  4. [algo]probleme de variables hotes ds un insert
    Par omega dans le forum Langage SQL
    Réponses: 2
    Dernier message: 16/03/2004, 09h03
  5. Réponses: 2
    Dernier message: 04/01/2004, 15h14

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