带有可变函数名称的PHP模糊代码

时间:2015-03-19 11:15:17

标签: php

考虑以下

Class someController {

    public static $layout = 'index';
}

然后在另一个范围

$layout = 'default';
$controller = 'someController';

if(property_exists($controller, 'layout')){
    $layout = $controller::$layout;
}

那么$layout的内容是什么?是否会尝试访问someController::$layoutsomeController::default

1 个答案:

答案 0 :(得分:3)

当PHP解析代码时,静态类变量的引用优先于独立变量。

编辑:事实上,解析器甚至不会考虑$controller::$layout引用$layout变量,因为它使用::作为问题评论中提到的@Paul Crovella。