我们有很多现有的代码,而不是创建一个类的实例,或者在该类上使用静态函数,而是在该类的全局单例上调用该方法。
例如(stringclass.php):
class String {
function endsWith($str, $search) {
return substr($str, -strlen($search)) == $search;
}
}
$STRING_OBJECT = new String();
然后它将以下列方式使用它:
include_once("stringclass.php");
if ($STRING_OBJECT->endsWith("Something", "thing")) {
echo "It's there\n";
}
我意识到这不是一种非常明智的调用函数的方式,但我想知道我们是否可以修复所有人们忘记使用自动加载器包含正确类的地方,而无需更改使用这些单例的所有代码. 它将检测未声明的全局变量的使用,并根据被引用的全局变量的名称包含正确的类文件。