Как вы работаете с «глобальной» конфигурацией в ZF? - PullRequest
1 голос
/ 08 апреля 2011

Я не совсем уверен, как лучше всего использовать глобальные параметры конфигурации. Например, если при загрузке файла я хочу переместить его в нужную папку.

  • Я могу жестко закодировать путь, но это не действительно лучшая вещь.
  • Я могу использовать константу
  • Я могу использовать config.ini и установить некоторые общие параметры конфигурации. Может тогда зарегистрировать объект конфигурации в реестре

Как поживаете? Любой совет?

Ответы [ 3 ]

3 голосов
/ 08 апреля 2011

Создайте 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;
3 голосов
/ 08 апреля 2011

A Объект Zend_Config в Реестре - это обычный метод, которому ZF следует здесь. Многие классы ZF могут принимать Configs, и в ZF нет лучшего способа справиться с этим.

(Запомните, шаблон реестра в любом случае немного больше, чем прославленный глобал.)

1 голос
/ 08 апреля 2011

Я использую Zend_Registry::set('foo', '/path/to/correct/folder') один раз, а затем вызываю его всякий раз, когда мне это нужно, с Zend_Registry::get('foo'), когда мне это нужно. Прекрасно работает!

...