本文整理汇总了PHP中Zend\Form\Form::bindValues方法的典型用法代码示例。如果您正苦于以下问题:PHP Form::bindValues方法的具体用法?PHP Form::bindValues怎么用?PHP Form::bindValues使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zend\Form\Form
的用法示例。
在下文中一共展示了Form::bindValues方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testPrepareBindDataAllowsFilterToConvertStringToArray
public function testPrepareBindDataAllowsFilterToConvertStringToArray()
{
$data = array('foo' => '1,2');
$filteredData = array('foo' => array(1, 2));
$element = new TestAsset\ElementWithStringToArrayFilter('foo');
$hydrator = $this->getMock('Zend\\Stdlib\\Hydrator\\ArraySerializable');
$hydrator->expects($this->any())->method('hydrate')->with($filteredData, $this->anything());
$this->form->add($element);
$this->form->setHydrator($hydrator);
$this->form->setObject(new stdClass());
$this->form->setData($data);
$this->form->bindValues($data);
}
示例2: testCallingBindValuesWhenBindOnValidateIsDisabledPopulatesBoundObject
public function testCallingBindValuesWhenBindOnValidateIsDisabledPopulatesBoundObject()
{
$model = new stdClass();
$validSet = array('foo' => 'abcde', 'bar' => ' ALWAYS valid ', 'foobar' => array('foo' => 'abcde', 'bar' => ' always VALID'));
$this->populateForm();
$this->form->setHydrator(new Hydrator\ObjectProperty());
$this->form->setBindOnValidate(false);
$this->form->bind($model);
$this->form->setData($validSet);
$this->form->isValid();
$this->assertObjectNotHasAttribute('foo', $model);
$this->assertObjectNotHasAttribute('bar', $model);
$this->assertObjectNotHasAttribute('foobar', $model);
$this->form->bindValues();
$this->assertObjectHasAttribute('foo', $model);
$this->assertEquals($validSet['foo'], $model->foo);
$this->assertObjectHasAttribute('bar', $model);
$this->assertEquals('always valid', $model->bar);
$this->assertObjectHasAttribute('foobar', $model);
$this->assertEquals(array('foo' => 'abcde', 'bar' => 'always valid'), $model->foobar);
}
示例3: processForm
protected function processForm(Form $form, $options = array(), $extra1 = null, $extra2 = array())
{
/**
* Special case for a simpler API: if the second argument is a string, it is used as the route to redirect
* to, the third argument as the route parameters and the fourth argument as additional options.
*/
if (is_string($options)) {
$options = array('redirect_route' => $options, 'redirect_params' => $extra1);
$options = $options + $extra2;
}
if ($options && isset($options['object_manager'])) {
$objectManager = $options['object_manager'];
} else {
$objectManager = $this->getEntityManager();
}
/** @var $request Request */
$request = $this->getRequest();
if ($request->isPost()) {
$form->setData($request->getPost());
if ($form->isValid()) {
$form->bindValues();
$objectManager->persist($form->getObject());
$objectManager->flush();
if (!empty($options['success_message'])) {
$this->flashMessenger()->addMessage($options['success_message']);
}
if (!empty($options['redirect_route'])) {
$params = array();
if (!empty($options['redirect_params'])) {
$params = $options['redirect_params'];
if (is_callable($params)) {
$params = call_user_func($params, $form);
}
}
return $this->redirect()->toRoute($options['redirect_route'], $params);
}
}
}
return null;
}
示例4: getFormObject
/**
* Возвращает объект привязанный к форме
*
* @param Form $form
*
* @return mixed
* @throws \Assert\AssertionFailedException
*/
protected function getFormObject(Form $form)
{
$form->bindValues();
$object = $form->getObject();
Assertion::isInstanceOf($object, GitLabDto::class);
return $object;
}