PHP - passage de variables de classes
Que j'essaie d'apprendre la POO et j'ai fait cette classe
class boo{
function boo(&another_class, $some_normal_variable){
$some_normal_variable = $another_class->do_something();
}
function do_stuff(){
//how can I access '$another_class' and '$some_normal_variable' here?
return $another_class->get($some_normal_variable);
}
}
et ce que j'appelle quelque part à l'intérieur de la another_class
classe comme
$bla = new boo($bla, $foo);
echo $bla->do_stuff();
Mais je ne sais pas comment accéder à $bla, $foo à l'intérieur de la do_stuff fonction
- (référence) les Classes et les Objets de Bases
- Lisez à propos de
$this
sur docs.php.net/this!
Vous devez vous connecter pour publier un commentaire.
Merci de ne pas le passer en PHP 5, il n'est pas nécessaire pour cela et je l'ai lu, c'est en fait plus lentement.
J'ai déclaré la variable dans la classe, si vous n'avez pas à le faire.
Ok, d'abord, d'utiliser le nouveau style du constructeur
__construct
au lieu d'une méthode avec le nom de la classe.Deuxième, pour répondre à votre question spécifique, vous devez utiliser variables de membre/propriétés:
Maintenant, notez que pour les variables de membre, à l'intérieur de cette classe, nous référence à eux en les préfixant avec
$this->
. C'est parce que la propriété est lié à ce instance de la classe. C'est ce que vous cherchez...En PHP, les constructeurs et les destructeurs sont écrits avec des noms spéciaux (
__construct()
et__destruct()
, respectivement). L'accès variables d'instance à l'aide de$this->
. Voici une réécriture de votre classe à utiliser ceci:Vous avez besoin pour capturer les valeurs dans la classe en utilisant $this: