当我将网站从一台机器转移到另一台机器时,我感到非常恼火,并且出现了一堆错误,例如这种情况。但是这个引起了我的好奇心,这就是我问一个问题的原因。我有以下代码:
namsepace MF;
class Box {
private static $dumpYard = array();
public static function get($name) {
return self::$dumpYard[$name];
}
public static function set($name, $value, $overwrite=false) {
if($overwrite || !isset(self::$dumpYard[$name])){
self::$dumpYard[$name] = $value;
}else{
if(DEBUG_MODE){
echo('Value for "'.$name.'" already set in box, can\'t overwrite');
}
}
}
}
因此,当我的应用程序到达本地测试服务器上的以下行时:
if(!empty(\MF\Box::get('requestsSpam'))){
throw new \Exception('Please don\'t spam');
}
我收到一个致命错误:无法在写入上下文中使用函数返回值。但是,此代码不会在我网站的实际托管服务器上引发错误。怎么会这样?