Je n'ai pas trop l'habitude de poster pour demander de l'aide mais
dans ce cas... j'avoue avoir besoin d'une aide autre que google ! Même
si c'est au final pour m'entendre dire que c'est impossible.
Voici mon problème en version simplifiée :
J'ai 2 classes foo et bar,
la premiere definie une variable privee et un fonction qui renvoi
cette variable,
la seconde herite de la premiere et redefinie la variable.
J'attends donc que l'appel de la fonction pour un objet instancié me
renvoi le nom de la bonne classe.
Exemple :
class foo
{
private $nom = 'foo';
public function get() {return $this->nom;}
}
class bar
{
private $nom = 'bar';
}
$foo = new foo;
$bar = new bar;
echo "premiere classe : ".$foo->get()".<br />";
echo "seconde classe : ".$bar->get()".<br />";
Resultat :
premiere classe : foo
seconde classe : foo
Alors que ce que j'attends est :
premiere classe : foo
seconde classe : bar
Y a-t-il moyen de faire "un truc comme ca" ????
Merci d'avance pour vos contributions/commentaires.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
P. Renaud
wrote:
Salut à tous...
$foo = new foo; $bar = new bar;
echo "premiere classe : ".$foo->get()".<br />"; echo "seconde classe : ".$bar->get()".<br />";
Resultat : premiere classe : foo seconde classe : foo
Alors que ce que j'attends est : premiere classe : foo seconde classe : bar
Y a-t-il moyen de faire "un truc comme ca" ????
Salut,
J'espère ne pas répondre trop à côté de ta demande, mais voici deux idées : - passer ta variable $nom en protected - redéfinir ta méthode bar::get(), et utiliser des variables différentes. $nom_foo et $nom_bar, par exemple
speak.me@gmail.com wrote:
Salut à tous...
$foo = new foo;
$bar = new bar;
echo "premiere classe : ".$foo->get()".<br />";
echo "seconde classe : ".$bar->get()".<br />";
Resultat :
premiere classe : foo
seconde classe : foo
Alors que ce que j'attends est :
premiere classe : foo
seconde classe : bar
Y a-t-il moyen de faire "un truc comme ca" ????
Salut,
J'espère ne pas répondre trop à côté de ta demande, mais voici deux idées :
- passer ta variable $nom en protected
- redéfinir ta méthode bar::get(), et utiliser des variables
différentes. $nom_foo et $nom_bar, par exemple
echo "premiere classe : ".$foo->get()".<br />"; echo "seconde classe : ".$bar->get()".<br />";
Resultat : premiere classe : foo seconde classe : foo
Alors que ce que j'attends est : premiere classe : foo seconde classe : bar
Y a-t-il moyen de faire "un truc comme ca" ????
Salut,
J'espère ne pas répondre trop à côté de ta demande, mais voici deux idées : - passer ta variable $nom en protected - redéfinir ta méthode bar::get(), et utiliser des variables différentes. $nom_foo et $nom_bar, par exemple
Antoine Polatouche
Alors que ce que j'attends est : premiere classe : foo seconde classe : bar
Y a-t-il moyen de faire "un truc comme ca" ????
Avec protected, ça fait comme tu le veux:
class foo { protected $nom = 'foo'; public function get() {return $this->nom;} }
class bar extends foo { function bar() { $this->nom = 'bar'; } }
$foo = new foo; $bar = new bar;
echo "premiere classe : ".$foo->get()."<br />"; echo "seconde classe : ".$bar->get()."<br />";
Alors que ce que j'attends est :
premiere classe : foo
seconde classe : bar
Y a-t-il moyen de faire "un truc comme ca" ????
Avec protected, ça fait comme tu le veux:
class foo
{
protected $nom = 'foo';
public function get() {return $this->nom;}
}
class bar extends foo
{
function bar()
{
$this->nom = 'bar';
}
}
$foo = new foo;
$bar = new bar;
echo "premiere classe : ".$foo->get()."<br />";
echo "seconde classe : ".$bar->get()."<br />";
Alors que ce que j'attends est : premiere classe : foo seconde classe : bar
Y a-t-il moyen de faire "un truc comme ca" ????
Avec protected, ça fait comme tu le veux:
class foo { protected $nom = 'foo'; public function get() {return $this->nom;} }
class bar extends foo { function bar() { $this->nom = 'bar'; } }
$foo = new foo; $bar = new bar;
echo "premiere classe : ".$foo->get()."<br />"; echo "seconde classe : ".$bar->get()."<br />";
Jibux
Salut à tous... Salut
Je n'ai pas trop l'habitude de poster pour demander de l'aide mais dans ce cas... j'avoue avoir besoin d'une aide autre que google ! Même si c'est au final pour m'entendre dire que c'est impossible.
Voici mon problème en version simplifiée : J'ai 2 classes foo et bar, la premiere definie une variable privee et un fonction qui renvoi cette variable, la seconde herite de la premiere et redefinie la variable. J'attends donc que l'appel de la fonction pour un objet instancié me renvoi le nom de la bonne classe.
class foo{ protected $nom = foo; public function get() { return $this->nom;} } class bar extends foo{ protected $nom = 'bar'; }
$foo = new foo; $bar = new bar;
echo "premiere classe : ".$foo->get()."<br />"; echo "seconde classe : ".$bar->get()."<br />";
Il fallait simplement utiliser protected au lieu de private pour pouvoir utiliser la variable dans la classe bar pour obtenir :
premiere classe : foo seconde classe : bar
Salut à tous...
Salut
Je n'ai pas trop l'habitude de poster pour demander de l'aide mais
dans ce cas... j'avoue avoir besoin d'une aide autre que google ! Même
si c'est au final pour m'entendre dire que c'est impossible.
Voici mon problème en version simplifiée :
J'ai 2 classes foo et bar,
la premiere definie une variable privee et un fonction qui renvoi
cette variable,
la seconde herite de la premiere et redefinie la variable.
J'attends donc que l'appel de la fonction pour un objet instancié me
renvoi le nom de la bonne classe.
class foo{
protected $nom = foo;
public function get() { return $this->nom;}
}
class bar extends foo{
protected $nom = 'bar';
}
$foo = new foo;
$bar = new bar;
echo "premiere classe : ".$foo->get()."<br />";
echo "seconde classe : ".$bar->get()."<br />";
Il fallait simplement utiliser protected au lieu de private pour pouvoir
utiliser la variable dans la classe bar pour obtenir :
Je n'ai pas trop l'habitude de poster pour demander de l'aide mais dans ce cas... j'avoue avoir besoin d'une aide autre que google ! Même si c'est au final pour m'entendre dire que c'est impossible.
Voici mon problème en version simplifiée : J'ai 2 classes foo et bar, la premiere definie une variable privee et un fonction qui renvoi cette variable, la seconde herite de la premiere et redefinie la variable. J'attends donc que l'appel de la fonction pour un objet instancié me renvoi le nom de la bonne classe.
class foo{ protected $nom = foo; public function get() { return $this->nom;} } class bar extends foo{ protected $nom = 'bar'; }
$foo = new foo; $bar = new bar;
echo "premiere classe : ".$foo->get()."<br />"; echo "seconde classe : ".$bar->get()."<br />";
Il fallait simplement utiliser protected au lieu de private pour pouvoir utiliser la variable dans la classe bar pour obtenir :
premiere classe : foo seconde classe : bar
speak.me
On 18 mar, 08:37, Antoine Polatouche wrote:
Y a-t-il moyen de faire "un truc comme ca" ????
Avec protected, ça fait comme tu le veux:
[...]
Merci à tous pour ces réponses ! J'avais oublié l'utilité d'avoir de vraies personnes en face :)
Bref ça marche. c cool. Thx all
On 18 mar, 08:37, Antoine Polatouche <anto...@galacsys.com> wrote:
Y a-t-il moyen de faire "un truc comme ca" ????
Avec protected, ça fait comme tu le veux:
[...]
Merci à tous pour ces réponses !
J'avais oublié l'utilité d'avoir de vraies personnes en face :)