php poo appel de méthode à partir de l'intérieur de la méthode de la même classe
J'ai le problème suivant
class class_name {
function b() {
//do something
}
function c() {
function a() {
//call function b();
}
}
}
Lorsque j'appelle la fonction, comme d'habitude: $this->b(); j'obtiens cette erreur: en Utilisant $this lorsqu'il n'est pas dans le contexte de l'objet dans C:...
la fonction b() est déclarée comme public
toutes les pensées?
Je vais apprécier l'aide
Grâce
OriginalL'auteur user681982 | 2011-07-04
Vous devez vous connecter pour publier un commentaire.
La fonction
a()
est déclarée à l'intérieur de la méthodec()
.Exemple à l'aide d'une fonction à l'intérieur d'une méthode (non recommandé)
La raison pour laquelle votre code d'origine n'était pas le travail, c'est à cause de la portée des variables.
$this
est uniquement disponible au sein de l'instance de la classe. La fonctiona()
n'est pas plus partie de sorte que le seul moyen de résoudre le problème est de passer à l'instance comme une variable de la classe.Je suppose que c'est la meilleure pratique... Ok je vais faire comme vous l'avez suggéré
Si vous le souhaitez, je peux vous montrer un exemple qui résout vos problèmes, mais ce n'est certainement pas la bonne façon de faire. Laissez-moi savoir.
Je vais bien faire dans le droit chemin, mais de l'avoir dans une poche de nouveaux trucs est tout simplement génial. Si elle n'est pas trop occupé, pourriez-vous me montrer ce s'il vous plaît?
Fait.
OriginalL'auteur Francois Deschenes