本文整理汇总了PHP中Symfony\Component\Form\FormConfigBuilder::setDataMapper方法的典型用法代码示例。如果您正苦于以下问题:PHP FormConfigBuilder::setDataMapper方法的具体用法?PHP FormConfigBuilder::setDataMapper怎么用?PHP FormConfigBuilder::setDataMapper使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Symfony\Component\Form\FormConfigBuilder
的用法示例。
在下文中一共展示了FormConfigBuilder::setDataMapper方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getForm
protected function getForm($name = 'name', $propertyPath = null, $dataClass = null, $errorMapping = array(), $virtual = false, $synchronized = true)
{
$config = new FormConfigBuilder($name, $dataClass, $this->dispatcher, array('error_mapping' => $errorMapping));
$config->setMapped(true);
$config->setVirtual($virtual);
$config->setPropertyPath($propertyPath);
$config->setCompound(true);
$config->setDataMapper($this->getDataMapper());
if (!$synchronized) {
$config->addViewTransformer(new CallbackTransformer(function ($normData) {
return $normData;
}, function () {
throw new TransformationFailedException();
}));
}
return new Form($config);
}
示例2: testSubmitEmptyGetRequestToCompoundForm
public function testSubmitEmptyGetRequestToCompoundForm()
{
$request = new Request(array(), array(), array(), array(), array(), array('REQUEST_METHOD' => 'GET'));
$dispatcher = $this->getMock('Symfony\\Component\\EventDispatcher\\EventDispatcherInterface');
$config = new FormConfigBuilder('author', null, $dispatcher);
$config->setCompound(true);
$config->setDataMapper($this->getMock('Symfony\\Component\\Form\\DataMapperInterface'));
$form = new Form($config);
$event = new FormEvent($form, $request);
$listener = new BindRequestListener();
$listener->preBind($event);
$this->assertEquals(array(), $event->getData());
}
示例3: testFormErrorsWithNonFormComponents
public function testFormErrorsWithNonFormComponents()
{
if (!class_exists(SubmitType::class)) {
$this->markTestSkipped('Not using Symfony Form >= 2.3 with submit type');
}
$dispatcher = $this->createMock(EventDispatcherInterface::class);
$factoryBuilder = new FormFactoryBuilder();
$factoryBuilder->addType(new SubmitType());
$factoryBuilder->addType(new ButtonType());
$factory = $factoryBuilder->getFormFactory();
$formConfigBuilder = new FormConfigBuilder('foo', null, $dispatcher);
$formConfigBuilder->setFormFactory($factory);
$formConfigBuilder->setCompound(true);
$formConfigBuilder->setDataMapper($this->createMock(DataMapperInterface::class));
$fooConfig = $formConfigBuilder->getFormConfig();
$form = new Form($fooConfig);
$form->add('save', method_exists(AbstractType::class, 'getBlockPrefix') ? SubmitType::class : 'submit');
$this->serialize($form);
$this->assertTrue(true);
// Exception not thrown
}
示例4: testMapFormsToDataSkipsVirtualForms
public function testMapFormsToDataSkipsVirtualForms()
{
$car = new \stdClass();
$engine = new \stdClass();
$parentPath = $this->getPropertyPath('name');
$childPath = $this->getPropertyPath('engine');
// getValue() and setValue() must never be invoked for $parentPath
$this->propertyAccessor->expects($this->once())->method('getValue')->with($car, $childPath);
$this->propertyAccessor->expects($this->once())->method('setValue')->with($car, $childPath, $engine);
$config = new FormConfigBuilder('name', '\\stdClass', $this->dispatcher);
$config->setPropertyPath($parentPath);
$config->setVirtual(true);
$config->setCompound(true);
$config->setDataMapper($this->getDataMapper());
$form = $this->getForm($config);
$config = new FormConfigBuilder('engine', '\\stdClass', $this->dispatcher);
$config->setByReference(true);
$config->setPropertyPath($childPath);
$config->setData($engine);
$child = $this->getForm($config);
$form->add($child);
$this->mapper->mapFormsToData(array($form), $car);
}
示例5: testSubmitEmptyGetRequestToCompoundForm
public function testSubmitEmptyGetRequestToCompoundForm()
{
if (!class_exists('Symfony\\Component\\HttpFoundation\\Request')) {
$this->markTestSkipped('The "HttpFoundation" component is not available');
}
$request = new Request(array(), array(), array(), array(), array(), array('REQUEST_METHOD' => 'GET'));
$dispatcher = $this->getMock('Symfony\\Component\\EventDispatcher\\EventDispatcherInterface');
$config = new FormConfigBuilder('author', null, $dispatcher);
$config->setCompound(true);
$config->setDataMapper($this->getMock('Symfony\\Component\\Form\\DataMapperInterface'));
$form = new Form($config);
$event = new FormEvent($form, $request);
$listener = new BindRequestListener();
DeprecationErrorHandler::preBind($listener, $event);
$this->assertEquals(array(), $event->getData());
}