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