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] Variable ne contenant pas la valeur attendue


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 17
    Points : 17
    Points
    17
    Par défaut [POO] Variable ne contenant pas la valeur attendue
    Bonjour,

    J'ai l'habitude de développer des applications en Java/C# et par conséquent j'utilise la POO. La, je dois développer des scripts php pour faire l'interface entre une base Mysql et du Flex. Les script polite le Flex via un Flux XML (dont la trame est fixée). Je vais avoir 1 script par flux à générer et par conséquent il serait souhaitable que mon code soit extensible/réutilisable/modulaire (le blas blas habituel quoi ) donc autant utiliser mes connaissances en POO pour me simplifier la vie à ce sujet. Le problème c'est que je suis un Néophite dans le ce langage et que je bloc sur des choses très simple ...

    Voila le code que je comprends pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    //Définition de la Class
    class Item{
    	var $name;
    	var $val;
     
    	function Item($inName){
    		$this->$name = $inName;
    		$this->$val = 0;
    	}
     
    	function Afficher(){
    		echo "name=".$this->$name."val=".$this->$val.'<br>';
    	}
    }
     
    //Création d'un Objet
    $myItem = new Item("Hello World");
    $myItem->Afficher();
    Résultat :

    Ce résultat est très bizarre sachant que $myItem->$name devrait valoir HelloWorld.

    De plus si je retire les "$this->" dans le code de la définition de la classe le résultat deviens

    La déclaration $this-> n'est donc pas implicite ?? Est-Ce Normal ??? J'ai raté une ligne ??? .

    Donc voila les questions que je me pose pour le moment... Alors soit y'a une grossière erreur dans le code et on va mettre ça sur le faite qu'il est tard, soit y'a un concepte PHP que j'ai pas compris et dans ce cas si quelqu'un à un p'tit Tuto sous la main je le remercie d'avance :p.

    Pour Information je travail sur l'environnement suivant:
    Apache 2
    PHP4 (Faut t-il que je passe en PHP5 ??)

    Merci d'avance.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 90
    Points : 100
    Points
    100
    Par défaut
    On écrit pas $this->$variable mais plutôt $this->variable.
    Bonne soirée.

  3. #3
    Membre éprouvé

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 657
    Points : 910
    Points
    910
    Par défaut
    Salut,

    Déjà comme l'a dit mikemarti, la syntaxe correcte est $this->variable.

    Par contre :
    La déclaration $this-> n'est donc pas implicite ?? Est-Ce Normal ???
    Effectivement, ça peut paraître étrange mais $this n'est PAS implicite. On utilise toujours $this->variable même à l'interieur d'une méthode.

    Pour Information je travail sur l'environnement suivant:
    Apache 2
    PHP4 (Faut t-il que je passe en PHP5 ??)
    Si tu as le choix, PHP5 introduit pas mal d'avancées au niveau des classes, ainsi que dans le support du XML il me semble.

  4. #4
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 17
    Points : 17
    Points
    17
    Par défaut
    Merci de vos réponses.

    J'ai testé et effectivement ça marche mieux .

    ça m'enlève une grosse épine du pied de pouvoir mettre un peu d'UML dans ce monde de brute .

    Par contre pour l'environnement je peux pas passer en PHP5. Dommage ...

  5. #5
    Membre expérimenté
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Points : 1 561
    Points
    1 561
    Par défaut
    Citation Envoyé par norby042
    Merci de vos réponses.

    J'ai testé et effectivement ça marche mieux .

    ça m'enlève une grosse épine du pied de pouvoir mettre un peu d'UML dans ce monde de brute .

    Par contre pour l'environnement je peux pas passer en PHP5. Dommage ...
    N'oublies pas de cliquer sur

  6. #6
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 17
    Points : 17
    Points
    17
    Par défaut
    Merci de votre aide pour néophite du forum.

    Très conviviale comme forum.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 30/08/2012, 18h11
  2. [RegExp] Une variable ne contenant pas de chiffre
    Par islyoung2 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 06/01/2011, 10h11
  3. Select Case ne renvoie pas la valeur attendue
    Par H.ile dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 23/01/2009, 14h58
  4. [MySQL] requête qui n'insère pas les valeurs attendues
    Par mimi83 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 12/06/2008, 03h07
  5. [Prototype] [1.5.1] $() ne retourne pas la valeur attendue
    Par WebTotoche dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 29/08/2007, 19h19

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