Анализ INI с проверкой обязательных полей - PullRequest
0 голосов
/ 27 апреля 2011

У меня довольно большой INI, который я анализирую и проверяю, чтобы убедиться, что все необходимые настройки были установлены.Это большая проблема, если мне нужно добавить / удалить параметр INI.

В моем PHP-скрипте я использую что-то вроде этого:

$ini = parse_ini_file($this->ini_filename, true);

// Debug Settings
if(isset($ini['debug_settings']['debug'])) {
    $this->debug = $ini['debug_settings']['debug'];   
} else {
    $this->failedINIValidation("['debug_settings']['debug'] not configured in the INI file: ");
}

failedININalidation () отправляет мне электронное письмо сотсутствует поле INI / значение / etc ...

Вы хотели бы сделать это более общим, какие-либо мысли?

1 Ответ

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

Просто выдвину это как идею, уже поздно, и я устал, но как насчет определенного массива, содержащего структуру, с которой вы хотите проверить, запустив array_diff, а затем зацикливая результат (если есть) навызовите failedINIValidation.

Затем, если вы хотите добавить или удалить что-либо из того, что требуется в INI-файле, вам просто нужно удалить элемент из массива.

Если ваш INI-файл не являетсядействительно сложный, я не буду беспокоиться о накладных расходах.Я провел несколько быстрых и грязных тестов, чтобы проверить утверждения, которые я видел в других местах: использование parse_ini_file было быстрее, чем включение файла конфигурации, содержащего собственный объект array.

...