Erreur fatale: Fonction non définie - pourquoi?
Question
Je suis nouveau à la programmation orientée objet en PHP. J'inclus une classe et l'a appelé, puis, à l'intérieur du constructeur de cette classe j'appelle une fonction privée appelée handleConnections. Pour une raison quelconque, il me donne une erreur fatale (fonction non définie). Toute idée pourquoi?
La classe:
class Test
{
function __construct()
{
handleConnections();
}
private function handleConnections()
{
//do stuff
}
}
Il semble impeccable et pourtant j'obtenir cette erreur. Si quelqu'un a une idée de ce qui pourrait être mal, s'il vous plaît me dire. Merci!
La solution
Juste en expansion sur la réponse de FWH.
Lorsque vous créez une classe et l'assigner à une variable, à l'extérieur de la classe que vous appelez une fonction au sein de cette classe en utilisant Variable- $> fonction () ;. Mais, parce que vous êtes à l'intérieur de la classe, vous ne savez pas ce que la classe est attribué, donc vous devez utiliser le $ this-> mot-clé pour accéder aux propriétés de classe. règle générale, si vous voulez accéder comme obj- $> var, accès avec $ this -.>
class myClass
{
function myFunc()
{
echo "Hi";
}
function myOtherFunc()
{
$this->myFunc();
}
}
$obj = new myClass;
// You access myFunc() like this outside
$obj->myFunc();
// So Access it with $this-> on the inside
$obj->myOtherFunc();
// Both will echo "Hi"
Autres conseils
Essayez avec:
$this->handleConnections();
Si vous ne préfixe pas vos appels avec ce $, il essaie d'appeler une fonction globale. $ Ceci est obligatoire en PHP, même quand il n'y a pas d'ambiguïté.