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] [objet php 5] petit soucis avec $this


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Homme Profil pro
    Ingénieur Informatique
    Inscrit en
    Décembre 2005
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur Informatique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 146
    Points : 158
    Points
    158
    Par défaut [POO] [objet php 5] petit soucis avec $this
    bonjour à tous

    j'essai de faire qlq chose qui est tout à fait possible en java. Mais en php j'ai une erreur.
    Je m'explique directement par ex equivalent afin de mieux me faire comprendre

    donc admettons que j'ai une classe A qui est 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 {
     private $nom;
      private $a;
     function A() {
         $this->a = new B($this);
     }
     
     function test() {
       echo "bonjour";
     }
     ...
    }
    et la classe b:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    class B {
     private $a;
     
     function B($a) {
        $this->a = $a;
     
        $this->a->test();
     }
    }
    ainsi si lorsque je fais je suis censé obtenir "bonjour". Mais à place j'aurais une erreur comme quoi l'utilisation dans b que l'object a n'est pas un object je peux donc pas utiliser la méthode test...

    en java on peut tres bien passer en parametre l'object courant pas le this... d'ou le fait de ma perplexité qu'en php 5 dit objet je ne puisse renvoyer la reference de l'objet lui même...

    je ne sais pas si j'ai été trés clair dans mes explications, mais n'hésiter pas à poser des questions si vous avez besoin d'éclairsissement.

    En tout cas, si vous avez une astuce qui me permette de faire quelque chose d'équivalent à cela, je suis preneur
    Mon blog est sur https://arphonis.fr et bientôt d'autres fonctionnalités seront disponible dessus.

  2. #2
    Membre habitué Avatar de crashyear
    Homme Profil pro
    Responsable d’exploitation informatique
    Inscrit en
    Janvier 2006
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Responsable d’exploitation informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2006
    Messages : 267
    Points : 176
    Points
    176
    Par défaut
    Je ne voit pas ou est l'erreur que tu peux avoir moi ca fonctionne tres bien

    Dans un fichier test_class.php j'ai mis ceci :
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    <?
     
    class A 
    {
    	private $nom;
    	private $a;
     
    	public function A() 
    	{
    	    $this->a = new B($this);
    	}
     
    	public function test() 
    	{
    		echo "bonjour";
    	}
    }
     
    class B 
    {
    	private $a;
     
    	public function B($a) 
    	{
    		$this->a = $a;
    		$this->a->test();
    	}
    }
     
     
     
    ?>
    et dans un autres fichier que j'ai nommé test_class_exe.php j'ai mis ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <html>
    <head></head>
    <body>
    <?
    include ("test_class.php");
     
    $a = new A();
     
    ?>
    </body>
    </html>
    Je ne sais pas si ca peut t'aider.
    -> N'oubliez pas de mettre résolu
    http://collinalexis.free.fr

  3. #3
    Membre habitué
    Homme Profil pro
    Ingénieur Informatique
    Inscrit en
    Décembre 2005
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur Informatique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 146
    Points : 158
    Points
    158
    Par défaut
    Alors là... j'ai testé effectivement cela fonctionne...
    mais alors pourquoi cela ne fonctionne pas sur mon code mystére :s

    bon, je regarde mieux mon code, j'ai du faire une erreur que j'ai pas vu :s
    Je ferais un autre post pour vous tenir au courant :s
    Mon blog est sur https://arphonis.fr et bientôt d'autres fonctionnalités seront disponible dessus.

  4. #4
    Membre habitué
    Homme Profil pro
    Ingénieur Informatique
    Inscrit en
    Décembre 2005
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur Informatique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 146
    Points : 158
    Points
    158
    Par défaut
    bon, j'ai trouvé... je dirais qu'une chose no comment :s

    Une erreur d'étourderie :s. Merci ^^. Et désolé du dérangement
    Mon blog est sur https://arphonis.fr et bientôt d'autres fonctionnalités seront disponible dessus.

  5. #5
    Membre habitué Avatar de crashyear
    Homme Profil pro
    Responsable d’exploitation informatique
    Inscrit en
    Janvier 2006
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Responsable d’exploitation informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2006
    Messages : 267
    Points : 176
    Points
    176
    Par défaut
    C'etait quoi ton erreur ??
    Sinon un conseil pour eviter un max d'erreur : indente correctement ton code exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    If($blablabla==$test)
    {
           if($xxx>$yyy)
           {
                  echo "ok";
           }
    }
    Déjà tu peux mieux voir lorsque tu fais ceci.
    Enfin c'est mon opinion après vous faites ce que vous voulez.
    -> N'oubliez pas de mettre résolu
    http://collinalexis.free.fr

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

Discussions similaires

  1. [PHP 5.2] [PHP-JS] petit souci avec une boucle simple
    Par gtraxx dans le forum Langage
    Réponses: 2
    Dernier message: 05/02/2009, 15h26
  2. petit soucis avec les listes
    Par Death83 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 03/09/2005, 10h08
  3. Petit souci avec clause where
    Par ybruant dans le forum SQL
    Réponses: 1
    Dernier message: 21/07/2005, 22h10
  4. petit souci avec des variables avec des fonctions psql
    Par dust62 dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 02/04/2005, 13h45
  5. [DEBUTANT] petits soucis avec un prgm de chat
    Par LechucK dans le forum MFC
    Réponses: 8
    Dernier message: 19/01/2004, 16h52

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