![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/extmag/shiplab/Helper/Config/Structure/Element/Iterator/ |
<?php /** * Copyright © Extmag. All rights reserved. */ namespace Extmag\Shiplab\Helper\Config\Structure\Element\Iterator; use Extmag\Shiplab\Helper\Config; use Extmag\Shiplab\Helper\Config\Structure\Element\Iterator; use LogicException; class Field extends Iterator { /** * @var \Extmag\Shiplab\Helper\Config\Structure\Element\Group */ protected $_groupFlyweight; /** * Field element flyweight * * @var Config\Structure\Element\Field */ protected $_fieldFlyweight; /** * @param \Extmag\Shiplab\Helper\Config\Structure\Element\Group $groupFlyweight * @param Config\Structure\Element\Field $fieldFlyweight */ public function __construct( \Extmag\Shiplab\Helper\Config\Structure\Element\Group $groupFlyweight, Config\Structure\Element\Field $fieldFlyweight ) { $this->_groupFlyweight = $groupFlyweight; $this->_fieldFlyweight = $fieldFlyweight; } /** * Init current element * * @param array $element * @return void * @throws LogicException */ protected function _initFlyweight(array $element) { if (!isset($element[Config::TYPE_KEY])) { throw new LogicException('System config structure element must contain "type" attribute'); } switch ($element[Config::TYPE_KEY]) { case 'group': $this->_flyweight = $this->_groupFlyweight; break; case 'field': default: $this->_flyweight = $this->_fieldFlyweight; } parent::_initFlyweight($element); } }