考虑以下
Class someController {
public static $layout = 'index';
}
然后在另一个范围
$layout = 'default';
$controller = 'someController';
if(property_exists($controller, 'layout')){
$layout = $controller::$layout;
}
那么$layout
的内容是什么?是否会尝试访问someController::$layout
或someController::default
?
答案 0 :(得分:3)
当PHP解析代码时,静态类变量的引用优先于独立变量。
编辑:事实上,解析器甚至不会考虑$controller::$layout
引用$layout
变量,因为它使用::
作为问题评论中提到的@Paul Crovella。