我正在创建自己的PHP框架(用于学习体验),我无法确定哪种更好的做法。
创建一个具有每个类名称的Registry类。其他类将调用注册表来查找类名。
创建一个AliasRegistry类,为每个类创建别名。
使用第一个设计访问类名时,我的代码将如下所示:
$delegateClass = $this->registry->delegate;
$object = new $delegateClass;
使用第二种设计访问类时,我的代码如下所示:
$object = new _NI_ALIAS;
它还允许我动态扩展其他类并实现接口
class Template implements _NI_ALIAS
第二个对我来说更有意义,特别是因为我可以将它包含在框架的命名空间中;但出于某种原因,我认为人们将此标记为垫练习,因为它可以影响全球的事物。
你认为哪种做法更好?