Accéder à la méthode d'un objet stocké dans un second objet
Résolu
Eiji
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Après quelque recherche, je me vois obligé de solliciter votre aide.
J'aimerai accéder methode() de $objetA, qui est lui, stocké dans $objetB. Je procède ainsi :
Page ObjetA.class.php
Page ObjetB.class.php
Page index.php
Est-ce possible? Ou ai-je fait un(des) erreur(s)?
La question n'est pas de savoir si j'ai raison ou pas de la faire, car le systeme est un peu plus compliquer que ce que je vous ai représenté au dessus.
L'erreur retournée est la suivante :
Call to undefined method stdClass::getVarA() in C:\wamp\www\robotik's\config.php on line ... (la ligne étant celle du
Je vous remercie d'avance pour votre aide! :D
Après quelque recherche, je me vois obligé de solliciter votre aide.
J'aimerai accéder methode() de $objetA, qui est lui, stocké dans $objetB. Je procède ainsi :
Page ObjetA.class.php
<?php
class ObjetA{
var maVariableA;
//et j'en passe...
function __construct($varA){
$this->maVariableA = $varA;
}
function getVarA(){
echo $this->maVariableA;
}
}
?>
Page ObjetB.class.php
<?php
class ObjetB{
var maVariableB;
//et j'en passe...
var monObjetA;
function __construct($varB, $objetA){
$this->maVariableB = $varB;
$this->monObjetA = $objetA;
}
//...
}
?>
Page index.php
<?php
include_once('ObjetA.class.php');
include_once('ObjetB.class.php');
$uneVariableA = "bububu";
$uneVariableB = "bababa";
$unObjetA = new ObjetA($unevariableA);
$unObjetB = new ObjetB($uneVariableB, $monObjetA);
$monObjetB->monObjetA->getVarA();//Marche pas...
?>
Est-ce possible? Ou ai-je fait un(des) erreur(s)?
La question n'est pas de savoir si j'ai raison ou pas de la faire, car le systeme est un peu plus compliquer que ce que je vous ai représenté au dessus.
L'erreur retournée est la suivante :
Call to undefined method stdClass::getVarA() in C:\wamp\www\robotik's\config.php on line ... (la ligne étant celle du
$monObjetB->monObjetA->getVarA();
Je vous remercie d'avance pour votre aide! :D
4 réponses
-
Bonjour
Je suppose (pas essayé) que ça marche ... si tu ne trompes pas dans tes noms de variables
$unObjetA = new ObjetA($unevariableA); $unObjetB = new ObjetB($uneVariableB, $monObjetA);
-
Je viens de vérifier et en dehors de la coquille ici, j'ai le même nom partout.
Ce qui est étrange, c'est que lorsque j'appel ma variable, elle s'affiche correctement. Par contre, dès qu'il s'agit d'une méthode, et ce même la plus simple possible, il y a une erreur.... -
Bonbonbon... Il doit y avoir une sacré coquille dans mon code car en vérifiant, il se trouve que un objet situé dans mon ObjetA me renvois parfaitement sa methode...
Ca marche Avant, ca marche Apres, mais pas la ou je veux... Bref, merci en tout cas ^^ -
Juste une idée : problème d'associativité de -> ?
as-tu essayé
($monObjetB->monObjetA)->getVarA();