include "sys.php";
$logger = new logger();
$logger->write("Hello!");
这很有效。然而,
include "sys.php";
$logger = new logger();
function test() {
$logger->write("Hello!");
}
test();
这不是。服务器崩溃,错误500。
为什么?
答案 0 :(得分:0)
$logger
未在函数内定义:
include "sys.php";
function test() {
$logger = new logger();
$logger->write("Hello!");
}
test();
答案 1 :(得分:0)
$ logger在测试功能范围内不可用,因为它是在测试功能之外创建的。 你可以像这样声明它
global $logger;
$logger = new logger();
function test() {
global $logger;
$logger->write("Hello!");
}
test();