我有两个类,其中一个是配置类。在这个类的内部,我有一个名为“theme”的变量。这称为config :: theme。我有另一个类,但我不能确定名称,因为它依赖于主题。例如,如果PHP站点主题设置为“星云”,我需要访问星云主题,例如:nebula :: navigation。我得到的最远的是:
public static function nav( ) {
$temp = config::theme;
return eval( $temp . "::navigation" );
}
输出错误:
解析错误:语法错误,意外 $ end in C:\收存箱\ Colzdragon \ Colzdragon \网站\内部\ theme.php(54) :第1行的eval()代码
有没有办法做到这一点?谢谢!
答案 0 :(得分:3)
您可以使用PHP 5.3执行此操作。请参阅this manual page上的第一个示例:
public static function nav() {
$theme = config::$theme;
return $theme::$navigation;
}
答案 1 :(得分:0)
你的代码工作得很好(据我所知)PHP告诉你错过了}
,;
或某处的引用。
从字面上说它说:“我一直读到文件的结尾,但还有未完成的语法业务”
答案 2 :(得分:0)
@Sander's answer有效。如果您使用较旧的版本(因为许多廉价主机似乎还没有5.3),您可以使用constant()
:
constant(get_class($temp)."::navigation");