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!

Était-ce utile?

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é.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top