实例化时不调用PHP构造函数

时间:2012-01-04 20:40:06

标签: php oop constructor

启动类时,我的PHP类构造函数似乎没有被调用。这就是我的构造函数的样子:

public function __contruct()
{
  $GLOBALS['page_content'] .= "<p>Constructor entered.</p>\r\n";

  try
  {
    $this->ConstructorBase();
  }
  catch ( Exception $e )
  {
    throw new Exception(
      "Error in ".__FILE__."(".__LINE__."): Constructor failed.",
      CLoginError::ERROR_CANNOT_INSTANTIATE, $e );
  }
}

稍后在同一个文件中,在全局范围内,我尝试实例化该类:

$Login = new CLogin();

但是,当我检查$GLOBALS['page_content']时,在实例化类之后,它是空的,就好像从未调用构造函数一样。奇怪的是我可以调用公共成员函数。如果你想看到它,完整的来源发布在这里:

http://pastebin.com/D95YnUmS

1 个答案:

答案 0 :(得分:57)

您将函数__contruct()命名为__construct()。这是一个非常常见的错误,你可能应该睡一会儿。