Remarqué quelque chose au sujet des cours de PHP et je ne sais pas si c'est un bug ou pourquoi cela fonctionne, voici le code:propriété de classe PHP privé et la méthode
<?php
class A {
private $prop = 'value';
public function fun()
{
$obj = new A;
$obj->echoProp();
}
private function echoProp()
{
echo 'Prop has value: '.$this->prop;
}
}
$obj = new A;
$obj->fun();
Et le résultat est une erreur Je m'attendais depuis que j'appelle une méthode privée (testé sur PHP 5.3.10-1ubuntu3.7 avec Suhosin-Patch). Le résultat est « Prop a une valeur: la valeur »
Comment voulez-vous attendre à des méthodes privées à appeler au lieu si pas de méthodes publiques? – str
Pour être précis, vous n'êtes pas appeler une méthode privée, vous appelez une méthode publique qui appelle la méthode privée. La méthode publique a accès à la méthode privée, mais appelant '$ obj-> echoProp();' échouera parce que dans ce cas, vous appelez la méthode privée. Si votre attente était vrai, rien ne serait en mesure d'appeler une méthode privée. – djheru