致命错误:未定义的功能 - 为什么?

时间:2009-07-19 15:21:39

标签: php function undefined

我是PHP中面向对象编程的新手。我包含了一个类并调用它,然后,在这个类的构造函数中,我正在调用一个名为handleConnections的私有函数。出于某种原因,它给了我一个致命的错误(未定义的功能)。知道为什么吗?

班级:

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

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

它似乎完美无缺,但我收到了这个错误。如果有人知道可能有什么问题,请告诉我。谢谢!

2 个答案:

答案 0 :(得分:4)

尝试:

$this->handleConnections();

如果您没有使用$ this为您的通话添加前缀,则它会尝试调用全局函数。 $这在PHP中是强制性的,即使没有歧义也是如此。

答案 1 :(得分:4)

只是扩展FWH的答案。

当您创建一个类并将其分配给变量时,您可以使用$ variable-> function();从该类外部调用该类中的任何函数。但是,因为你在课堂上,你不知道课程的分配是什么,所以你必须使用$ this->用于访问任何类属性的关键字。一般经验法则,如果您像$ obj-> var一样访问它,请使用$ 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"