Ölümcül hata: tanımlanmamış işlev - neden?

2 Cevap php

PHP nesne yönelimli programlama için yeni. Ben bir sınıf dahil ve bu sınıfının yapıcı içimde handleConnections denilen özel bir işlevi diyorum, sonra onu çağırdı. Nedense, bana bir ölümcül hata (tanımsız fonksiyonu) veriyor. Herhangi bir fikir neden?

Sınıfı:

class Test
{
   function __construct()
   {
      handleConnections();
   }

   private function handleConnections()
   {
      //do stuff
   }
}

Bu kusursuz görünüyor ve henüz ben bu hatayı alıyorum. Herkes yanlış ne olabilir herhangi bir ipucu varsa, lütfen söyle bana. Teşekkürler!

2 Cevap

Sadece FWH en Yanıt genişleyen.

Eğer bir sınıf oluşturmak ve sınıfın dışında, bir değişkene atadığınızda $ değişken> function () kullanarak bu sınıf içinde herhangi bir işlevini çağırır;. Eğer sınıf içinde çünkü Ama, sen sınıfı atanmış olan ne bilmiyorum, bu yüzden herhangi bir sınıf özelliklerine erişmek için $ this-> anahtar kelime kullanmak zorunda. Başparmak genel kural, bunu $ obj-> var gibi erişmek olsaydı, $ this-> ile erişebilirsiniz.

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"

Ile deneyin:

$this->handleConnections();

Eğer $ this ile aramalarınızı öneki yoksa, bu küresel bir işlevi çağırmak için çalışıyor. $ Bu belirsizlik yoktur olabilir bile, PHP zorunludur.