Zend_Registry - 你需要getInstance()吗?

Oke*_*oke 2 registry singleton zend-framework

嘿,我想知道在应用程序中访问Zend_Registry时是否需要包含getInstance(),如果需要,为什么?

例如

    Zend_Registry::getInstance()->get('db');
Run Code Online (Sandbox Code Playgroud)

    Zend_Registry::get('db');
Run Code Online (Sandbox Code Playgroud)

它们似乎都适用于后者不那么冗长.我模糊地理解Zend_Registry是一个单例,我认为这意味着它只能有一个实例?那你为什么需要getInstance()?

Bil*_*win 6

我在2007年为Zend_Registry编写了代码.

您可以使用静态get()set(),它会影响注册表的默认实例,存储为类的静态成员.这是大多数情况下的预期用途.

Zend_Registry的所有其他方法几乎都支持非典型情况,例如,如果您想为注册表实现自己的类,但仍然使其成为默认的单例.或者,如果您想获取实际的注册表对象,例如,您可以使用其所有内容序列化整个注册表对象.