我看到在最近的时代在几个框架使用的做法。它由在与类恒定的而不是字符串容器登记的对象。通常情况下,对象被添加下面下面的例子。
$container[MyClass::name] = function(){
// create object here
}
我通常使用的字符串:
$container['MyClass'] = function(){
// create object here
}
我想知道这种做法的设施。
这与IDE的怎么办重构做。
比方说,你有类MyClass
而你使用:
$container['MyClass'] = function(){
// create object here
}
如果重命名类“MyClass的”,你需要无处不在,你使用这个命名的字符串。重构工具将有一个更难的时间来弄清楚,字符串“MyClass的”,在这种情况下是一个类的引用,而不是一块随机proze的。
如果你使用:
$container[MyClass::name] = function(){
// create object here
}
你需要重命名MyClass类,但很多IDE的(如phpstorm,vscode等)有工具来自动重命名(重构)的参考类无处不在你的代码,因为你的一类,而不是一个字符串他们会弄清楚,MyClass的需要被重新命名。
这样,它是一个更容易保持第二比第一。