PHP 5.3 vs PHP 5.2 - 需要反思吗?
问题描述:
认为我需要使用反射使5.3代码在5.2上工作,但有问题。PHP 5.3 vs PHP 5.2 - 需要反思吗?
我们在只有PHP 5.2的服务器上,此时每个托管公司都无法升级,但由于类使用5.3语法,所以我们需要的类有5.2的问题。
这是我需要帮助的代码:
static public function instance($class) {
if (!isset($class::$instance)) {
$class::$instance = new $class();
$class::$instance->initialize();
MobileHelper::registerDevice($class::$instance);
}
return $class::$instance;
}
我已经看到了一些关于这一点使用反射的问题的答案,但他们都是基本的例子,我不知道够不够转换他们进入这里的解决方案,但我已经尝试过。这里的任何专家能够提供帮助吗?
答
在这里,使用反射相同。
static public function instance($class) {
$ref = new ReflectionClass($class);
if (!$ref->getStaticPropertyValue('instance')){
$ref->setStaticPropertyValue('instance', new $class());
$obj = $ref->getStaticPropertyValue('instance');
$obj->initialize();
MobileHelper::registerDevice($obj);
}
return $ref->getStaticPropertyValue('instance');
}