注意:未定义的变量:第20行的... / application_bottom.php中的记录器
if (!is_object($logger)) $logger = new logger;
我通过
解决了这个问题if (!is_object('logger')) $logger = new logger;
但为什么呢?有人可以解释一下
答案 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,则无法运行。