예제 #1
0
 private function _fromModel(self $data)
 {
     foreach ($this->structure as $key => $properties) {
         switch ($properties['type']) {
             case 'o':
                 if (isset($properties['model']) && $data->has($key)) {
                     $m = $properties['model']::from($data->get($key));
                     $this->set($key, $m, true);
                     break;
                 }
             default:
                 $this->set($key, $data->get($key), true);
         }
     }
     return $this;
 }
예제 #2
0
 public function __construct($spec = array())
 {
     $data = array();
     foreach ($spec as $k => $properties) {
         $this->add($k, $properties);
         if (isset($properties['value'])) {
             $data[$k] = $properties['value'];
         } elseif (isset($properties['default'])) {
             $data[$k] = $properties['default'];
         }
     }
     parent::__construct($data);
 }