Example #1
0
 /**
  * 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);
 }
Example #2
0
 /**
  * Tests array->getComponents()
  */
 public function testGetComponents()
 {
     $component = $this->array->getComponents();
 }