/**
  * @param \Phpro\AnnotatedForms\Event\FormEvent $event
  * @param \Zend\Form\Form $form
  * @param \Phpro\AnnotatedForms\Options\Configuration $configuration
  */
 public function it_should_attach_an_entity_as_object($event, $form, $configuration)
 {
     $event->getTarget()->willReturn($form);
     $event->getConfiguration()->willReturn($configuration);
     $configuration->getEntity()->willReturn('stdClass');
     $form->setObject(Argument::type('stdClass'))->shouldBeCalled();
     $this->setEntityAsObject($event);
 }
 /**
  * @param FormEvent $e
  */
 public function setEntityAsObject(FormEvent $e)
 {
     $form = $e->getTarget();
     if (!$form instanceof FormInterface) {
         return;
     }
     $config = $e->getConfiguration();
     if (!$config || !$config->getEntity()) {
         return;
     }
     $rc = new \ReflectionClass($config->getEntity());
     $hasConstructorparams = $rc->getConstructor() && $rc->getConstructor()->getNumberOfParameters() ? true : false;
     $instance = $hasConstructorparams ? $rc->newInstanceWithoutConstructor() : $rc->newInstance();
     $form->setObject($instance);
 }