Задача: Нужно написать контейнер (к примеру Config), в который можно положить пары ключ-значение. Пары можно добавлять в разном формате, сочетании и последовательности, например добавить ini файл, затем добавить xml файл, затем добавить туда же просто php-массив. Одинаковые ключи должны перетираться (любой вложенности). Экземпляр контейнера должен быть итерируемым, а так же должна быть возможность работать с ним как с массивом, так и с объектом. Должна быть возможность получить данные из контейнера (дамп содержимого) в любом формате (array/ini/xml/json). Не использовать какие-либо фреймворки, части готовых решений, т.д.
git clone https://github.com/ercling/keyvaluestore.git
cd keyvaluestore
composer install
Запустить можно так:
vendor/bin/phpunit --colors --bootstrap vendor/autoload.php tests