En supposant on a une classe de base abstraite foo
avec __get()
défini, et une classe enfant bar
qui hérite de foo
avec une variable privée $var
, sera le parent __get()
être appelé lorsque vous essayez d'accéder au $var
privé de en dehors de la classe?PHP __get et les variables de classe privée
9
A
Répondre
10
Oui.
<?php
abstract class foo
{
public function __get($var)
{
echo "Parent (Foo) __get() called for $var\n";
}
}
class bar extends foo
{
private $var;
public function __construct()
{
$this->var = "25\n";
}
public function getVar()
{
return $this->var;
}
}
$obj = new bar();
echo $obj->var;
echo $obj->getVar();
?>
sortie:
$ php test.php
Parent (Foo) __get() appelé var
4
Oui. __get()
et __set()
(et __call()
d'ailleurs) sont invoqués lors de l'accès à un membre de données qui n'est pas visible par l'exécution en cours.
Dans ce cas, $var
est privé, donc l'accès public appellera le hook __get()
.
Questions connexes
- 1. Mock testing et la méthode magique __get de PHP
- 2. Magique __get getter pour les propriétés statiques dans PHP
- 3. MySql variables et php
- 4. php et la recherche de MySQL et les variables problème
- 5. variables PHP dans les classes
- 6. PHP Variables variables
- 7. Accès variables et méthodes en dehors des définitions de classe
- 8. PHP et des variables globales
- 9. importer toutes les variables de classe parente
- 10. Variables de session PHP - disparaissent et réapparaissent
- 11. Utilisation de variables parents dans une classe étendue en PHP
- 12. les variables ajax php javascript
- 13. Scope PHP et interaction d'instance de classe
- 14. PHP inclure des fonctions de classe avec des variables
- 15. Une classe interne privée synthétise une classe anonyme inattendue
- 16. AS2: charger les variables de classe avec sendandload
- 17. C# liste variable privée
- 18. Quand les variables doivent-elles être définies dans une classe
- 19. classe privée/publique dans le problème d'espace de noms
- 20. php fonction strlen et 2 variables
- 21. PHP fseek() équivalent pour les variables?
- 22. Smarty AutoBind PHP Variables à Smarty Variables
- 23. Résoudre les variables d'environnement Windows en PHP
- 24. Variables de classe dans les vues de rails?
- 25. Publication de variables en PHP
- 26. Sous-classe de QObject, qRegisterMetaType et le constructeur de copie privée
- 27. Quand les variables de classe sont-elles chargées?
- 28. PHP: la portée des variables Question/Variables
- 29. Jquery, xml et les variables
- 30. PHP Automatiquement "GET" Variables