我正在开发一个PHP Web API,但是代码需要进行大量重构。原本编写代码的人想要将静态配置类包含到API资源中,并像这样获取该类的实例:
<?php
$obj = "User";
$confObjectSuffix = "_conf";
$confObject = $obj.$confObjectSuffix;
if ($confObject::inst()->checkMethod($method)) {
.....
这会出现错误“解析错误:在......中意外的T_PAAMAYIM_NEKUDOTAYIM”,因为$confObject是一个字符串而不是一个对象。
我写了一些测试代码:
<?php
$class = "User_conf";
echo "<pre>";
print_r($$class::Inst());
echo "</pre>";
class User_conf {
private static $INSTANCE = null;
public static function Inst() {
if(User_conf::$INSTANCE === null) {
User_conf::$INSTANCE = new User_conf();
}
return User_conf::$INSTANCE;
}
}
但是我也无法使用$$,有没有其他的解决方法?我不想重写更多的内容。