Переменные в файлах ini php - PullRequest
4 голосов
/ 25 апреля 2010

Эй, у меня есть такая структура в моем INI-файле, я хочу иметь возможность анализировать переменную внутри значения переменной

site.url = "www.example.com"
site.url.images = site.url "/images"

Однако site.url не анализируется внутри site.url.images.

Я использую Zend Config INI для анализа моих INI-файлов. Есть ли решение помимо добавления этой функции самостоятельно?

1 Ответ

3 голосов
/ 25 апреля 2010

Zend_Config_Ini этого не сделает (поскольку встроенная в PHP функция parse_ini_file () этого не сделает).

Так что вам придется как-то обойти это.

Два подхода, которые кажутся очевидными (для меня):

  • Только не делай этого. В вашем примере просто установите для site.url.images значение «images» и создайте URL-адреса в коде приложения (реализуйте небольшую функцию getUrlForImage ($ img), которая создает правильный URL-адрес на основе значений конфигурации и аргумента)

  • Расширьте Zend_Config_Ini, чтобы выполнить некоторую постобработку.

В последнем случае вам может быть лучше что-то вроде:

site.url.image = "%% site.url %% / images"

Затем пройдитесь по массиву значений конфигурации, выполнив подстановки.

...