您如何使用ZF中的“全局”配置?

时间:2011-04-07 23:35:07

标签: php zend-framework configuration globalization

我不确定使用全局配置选项的最佳方法。 例如,如果上传文件,我想将其移动到正确的文件夹中。

  • 我可以硬编码路径,但真的是最好的。
  • 我可以使用CONSTANT
  • 我可以使用config.ini并设置一些常见的配置选项。也许然后在Registry
  • 中注册一个配置对象
你好,怎么办?有什么建议吗?

3 个答案:

答案 0 :(得分:3)

Zend_Config object中的Registry是ZF在此处遵循的常用方法。许多ZF类都可以接受Configs,而且在ZF中处理它几乎没有更好的方法。

(请记住,无论如何,注册表模式只不过是一个美化的全球化。)

答案 1 :(得分:3)

创建一个config.ini,在其中分隔您的配置,如下所示:

[development]
;File Upload settings
FileUpload.path = /some/path

[production]
;File Upload settings
FileUpload.path = /production/path

现在你的Bootstrap.php中的某个地方你可以这样做:

$config = new Zend_Config_Ini(
    self::$root . '/config/config.ini',
    'development'
);
self::$registry->configuration = $config;

在任何控制器中:

$config = Zend_Registry::get('configuration');
echo $config->FileUpload->path;

答案 2 :(得分:1)

我使用Zend_Registry::set('foo', '/path/to/correct/folder')一次,然后只要我需要Zend_Registry::get('foo'),只要我需要它就可以调用它。效果很好!