在我的php类Patient中,我有一个静态方法,init是一些静态类变量,工作正常。我这样做:
private static $request;
public static function init() {
self::$request = new Something();
}
但是当我在文件的顶部添加一个命名空间时,由于某种原因它会在这行上死掉,这让我很困惑。在命名空间内有没有一种特殊的方法来调用静态变量?
答案 0 :(得分:1)
由于您的代码在全局命名空间中工作,但在自定义命名空间中失败时,您需要在使用外部类时提供完全限定的类名。因此,在这种情况下,只需将代码更改为:
public static function init() {
self::$request = new \Something();
}
如果由于某些原因这不能解决您的问题,那么您至少可以通过(暂时)将self::$request =
更改为$temp =
来排除静态变量与问题相关并观察问题仍然存在。