Pull to refresh

Comments 3

Без примеров использования (а их нет ни в исходниках, ни в статье на сайте, ни у вас) все прелести класса не столь очевидны. А ведь класс конфига очень даже не плох (особенно DirStorage). Вроде много слов, а Гюльчатай так личико и не показала…

Не понятно куда по-дефолту конфиг будет сохранять «forest.meadow.fairy.name», в вашем примере после persist()

Я бы добавил 10-12 строк с кодом для снижения порога входа.
По дефолту сохраняет в том же порядке: то есть в самой глубокой папке которую сможет найти.
На сайте был пример, но там больше уклон как раз на класс базы данных а не на конфиг.

Ну я попробую написать пример как раз для DirectoryStorage:
Например если у нас есть директория /assets в которой будут наши конфиги лежать вот так:

assets/ config.php config/ forest.php forest/ meadow.php

$pixieConfig = new \PHPixie\Config;
$config = $pixieConfig->directoryStorage('/assets/', 'config', 'php');
/*
   /assets/ - директория контейнер
   'config' - названия корневого файла/поддиректории
   'php' - дефолтный формат файлов которые создавать, пока есть только php
*/


Теперь представим что у нас в /assets/config/forest/meadow.php есть:

return array(
    'fairies' => 5
);


Мы можем сделать:

$config->get('forest.meadow.fairies'); //5
$config->get('forest.meadow.not_existing_property', 6); // 6

$config->set('forest.meadow.pixies' ,7); // запишется в /assets/config/forest/meadow.php (после persist())
$config->set('forest.flowers' ,3); // запишется в /assets/config/forest.php
$config->set('sky' ,3); // запишется в /assets/config.php
$config->set('sky.clouds.birds' ,3); // запишется в /assets/config.php, так как само создавать папки не станет
$config->persist(); //провести запись


Надеюсь теперь понятнее =)
Плохо отобразилось дерево директории, должно быть:
assets/
   config.php
   config/
      forest.php
      forest/
         meadow.php 
Sign up to leave a comment.

Articles