Пример #1
0
 public function testGet()
 {
     $route = new \stdClass();
     $this->list->insert('foo', $route, 0);
     $this->assertEquals($route, $this->list->get('foo'));
     $this->assertNull($this->list->get('bar'));
 }
Пример #2
0
 /**
  * Bind values to the bound object
  *
  * @param array $values
  * @return mixed|void
  */
 public function bindValues(array $values = array())
 {
     $objectData = $this->extract();
     $hydrator = $this->getHydrator();
     $hydratableData = array();
     foreach ($values as $name => $value) {
         if (!$this->has($name)) {
             continue;
         }
         $element = $this->iterator->get($name);
         if ($element instanceof FieldsetInterface && $element->allowValueBinding()) {
             $value = $element->bindValues($value);
         }
         // skip post values for disabled elements, get old value from object
         if (!$element->getAttribute('disabled')) {
             $hydratableData[$name] = $value;
         } elseif (array_key_exists($name, $objectData)) {
             $hydratableData[$name] = $objectData[$name];
         }
     }
     if (!empty($hydratableData)) {
         $this->object = $hydrator->hydrate($hydratableData, $this->object);
     }
     return $this->object;
 }
Пример #3
0
 /**
  * Retrieve a named element or fieldset
  *
  * @param  string $elementOrFieldset
  * @return ElementInterface
  */
 public function get($elementOrFieldset)
 {
     if (!$this->has($elementOrFieldset)) {
         throw new Exception\InvalidElementException(sprintf("No element by the name of [%s] found in form", $elementOrFieldset));
     }
     return $this->iterator->get($elementOrFieldset);
 }