/** * Render a form based on a Hydra object. * * @param HydraClass $hydra * @return string */ public function render(HydraClass $hydra) { $elements = array(); foreach ($hydra->getProperties() as $property) { $name = $property->getName(); $element = $this->mapping[$name]; $callback = $this->elements[$element]; $elements[] = call_user_func_array($callback, array($property)); } return call_user_func_array($this->build, compact('elements')); }
/** * @param Graph $graph * @return HydraClass */ public static function fromGraph(Graph $graph) { $class = new HydraClass(); $class->setProperties(static::findProperties($graph)); return $class; }