在非对象上调用成员函数

时间:2011-11-20 02:51:58

标签: php scope variable-assignment require-once

我已经阅读了这个或类似名称已经存在的几个主题。似乎没有人完全解决我的情况。

我从utils.php班级收到此错误。

Notice: Undefined variable: debug in /app/www/utils.php on line 89 Fatal error: Call to a member function debug() on a non-object in /app/www/utils.php on line 89

我像这样定义变量debug

require_once('PHPDebug.php');
$debug = new PHPDebug();

然后调用它(在第89行),如下所示:

$debug->debug($message);

我感到困惑的原因是我复制并粘贴了index.php中的这些行,并且该通话工作正常。

如果您愿意,我可以添加指向index.phputils.php文件以及PHPDebug.php的链接。

1 个答案:

答案 0 :(得分:3)

感谢您上次发表评论,问题的解决方案是在函数中将$debug声明为global。因此,你应该有这样的事情:

require_once('PHPDebug.php');
$debug = new PHPDebug();

function myfunction()
{
   global $debug;

   // some code

   $debug->debug($message);
}

您可以在official doc

中详细了解全球