/** * Parses passed array. * */ protected function parse() { if (is_array($this->array) === false) { throw new Dispenser_Exception("Passed argument is not an array."); } foreach ($this->array as $id => $componentItem) { $parsedComponent = array(); if (isset($componentItem[self::YADIF_CLASS]) === true) { $parsedComponent[Dispenser_Importer_Array::DISPENSER_CLASS] = $componentItem[self::YADIF_CLASS]; } else { $parsedComponent[Dispenser_Importer_Array::DISPENSER_CLASS] = $id; } if (isset($componentItem[self::YADIF_METHODS]) === true) { if (empty($componentItem[self::YADIF_METHODS]) === false) { $parsedComponent[Dispenser_Importer_Array::DISPENSER_METHODS] = $this->_parseMethods($componentItem[self::YADIF_METHODS]); } } $params = array(); if (isset($componentItem[self::YADIF_PARAMS]) === true) { $params = $componentItem[self::YADIF_PARAMS]; } if (isset($componentItem[self::YADIF_ARGUMENTS]) === true) { if (empty($componentItem[self::YADIF_ARGUMENTS]) === false) { $parsedComponent[Dispenser_Importer_Array::DISPENSER_ARGUMENTS] = $this->_parseArguments($componentItem[self::YADIF_ARGUMENTS], $params); } } if (isset($componentItem[self::YADIF_FACTORY]) === true) { $parsedComponent[Dispenser_Importer_Array::DISPENSER_FACTORY] = array(Dispenser_Importer_Array::DISPENSER_CLASS => $componentItem[self::YADIF_FACTORY][0], Dispenser_Importer_Array::DISPENSER_METHOD => $componentItem[self::YADIF_FACTORY][1]); } if (isset($componentItem[self::YADIF_SHARED]) === true) { if ($componentItem[self::YADIF_SHARED] == self::YADIF_SHARED_DEF) { $parsedComponent[Dispenser_Importer_Array::DISPENSER_SHARED] = true; } } $this->parsedArray[$id] = $parsedComponent; } $this->dispenserArray->setArray($this->parsedArray); }
/** * @expectedException Dispenser_Exception */ public function testAddArrayWithIllegalComponentKeyException() { $data = $this->getIllegalComponentKey(); $this->array->setArray($data); }