注意:未定义的变量:logger

时间:2013-07-21 14:38:02

标签: php

注意:未定义的变量:第20行的... / application_bottom.php中的记录器

if (!is_object($logger)) $logger = new logger;

我通过

解决了这个问题
if (!is_object('logger')) $logger = new logger;

但为什么呢?有人可以解释一下

1 个答案:

答案 0 :(得分:1)

以下条件:

if (!is_object('logger'))

基本上询问“如果对象中的字符串'logger'..”它将始终返回false并且不是您问题的正确解决方案。您可以使用isset()is_object()的组合来实现您的目标:

if (!(isset($logger) && is_object($logger))) $logger = new logger;

您收到错误是因为在运行$logger时没有定义is_object(),如果设置了$logger,则通过检查并使用&&运算符确保is_object()如果isset()返回false,则无法运行。