コード例 #1
0
ファイル: Merge.php プロジェクト: solire/conf
 /**
  * Parcours $conTwo pour alimenter $conf
  *
  * @param Conf $conf    Configuration alimentée
  * @param Conf $confTwo Configuration parcourue
  *
  * @return void
  */
 protected static function each(Conf $conf, Conf $confTwo)
 {
     foreach ($confTwo->each() as $key => $data) {
         if ($conf->has($key) === false) {
             $conf->set($data, $key);
             continue;
         }
         if (gettype($conf->get($key)) !== 'object') {
             $conf->set($data, $key);
             continue;
         }
         if (is_a($conf->get($key), Conf::class) === true) {
             if (is_a($data, Conf::class) === true) {
                 self::each($conf->get($key), $data);
                 continue;
             }
             continue;
         }
         $conf->set($data, $key);
     }
 }
コード例 #2
0
ファイル: Conf.php プロジェクト: solire/conf
 /**
  * Contrôle parcour d'éléments
  *
  * @return void
  */
 public function testEach()
 {
     $this->if($conf = new TestClass())->and($conf->set(1, 'section1', 'name1'))->and($conf->set(2, 'section1', 'name2'))->and($conf->set('toto', 'stringSection'))->array($conf->each())->isEqualTo(['section1' => $conf->get('section1'), 'stringSection' => 'toto'])->array($conf->each('section1'))->isEqualTo(['name1' => 1, 'name2' => 2])->array($conf->each('nonPresent'))->isEqualTo([]);
 }