Nette\DI\Config\Adapters\NeonAdapter::statementToEntity PHP Method

statementToEntity() private static method

private static statementToEntity ( Statement $val ) : Nette\Neon\Entity
$val Nette\DI\Statement
return Nette\Neon\Entity
    private static function statementToEntity(Statement $val)
    {
        array_walk_recursive($val->arguments, function (&$val) {
            if ($val instanceof Statement) {
                $val = self::statementToEntity($val);
            }
        });
        if (is_array($val->getEntity()) && $val->getEntity()[0] instanceof Statement) {
            return new Neon\Entity(Neon\Neon::CHAIN, [self::statementToEntity($val->getEntity()[0]), new Neon\Entity('::' . $val->getEntity()[1], $val->arguments)]);
        } else {
            return new Neon\Entity($val->getEntity(), $val->arguments);
        }
    }

Usage Example

Exemplo n.º 1
0
 /**
  * @return Neon\Entity
  * @internal
  */
 public static function statementToEntity(Statement $val)
 {
     array_walk_recursive($val->arguments, function (&$val) {
         if ($val instanceof Statement) {
             $val = NeonAdapter::statementToEntity($val);
         }
     });
     if (is_array($val->entity) && $val->entity[0] instanceof Statement) {
         return new Neon\Entity(Neon\Neon::CHAIN, array(self::statementToEntity($val->entity[0]), new Neon\Entity('::' . $val->entity[1], $val->arguments)));
     } else {
         return new Neon\Entity($val->entity, $val->arguments);
     }
 }