示例#1
0
 /**
  * Build a Collection (array) of Items from the given data.
  *
  * @param $data
  *
  * @return Collection
  */
 private function buildCollection($array)
 {
     $collection = new Collection();
     foreach ($array as $key => $value) {
         $item = new Item();
         if (is_array($value)) {
             $item->setValue($this->buildCollection($value));
         } elseif (is_object($value)) {
             $item->setValue($this->buildStructure($value));
         } else {
             $item->setValue($value);
             $item->setType(gettype($value));
             if ($item->getType() === 'string') {
                 $item->setLength(strlen($value));
             }
         }
         $item->setKey($key);
         $collection->addItem($item);
     }
     return $collection;
 }