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

Jim*_*ell 6 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 );
  }
}
Run Code Online (Sandbox Code Playgroud)

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

$Login = new CLogin();
Run Code Online (Sandbox Code Playgroud)

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

http://pastebin.com/D95YnUmS

Mad*_*iha 60

您将功能命名为__contruct()应有的位置.这是一个非常常见的错误,你可能应该睡一觉.__construct()

  • 认为这个"拼写错误"让我在过去3周内陷入困境.^ _ ^ ;; 我想我会把它称之为地狱错字.活到老,学到老.谢谢你的帮助.我很高兴再次前进,至少我学到了很多关于在这个过程中调试PHP的知识. (8认同)
  • 我花了2个小时来学习我已经知道的关于"OOP"的内容,以解决这个问题.+1 (2认同)