当前位置: 首页>>代码示例>>PHP>>正文


PHP Fieldset::setHydrator方法代码示例

本文整理汇总了PHP中Zend\Form\Fieldset::setHydrator方法的典型用法代码示例。如果您正苦于以下问题:PHP Fieldset::setHydrator方法的具体用法?PHP Fieldset::setHydrator怎么用?PHP Fieldset::setHydrator使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Zend\Form\Fieldset的用法示例。


在下文中一共展示了Fieldset::setHydrator方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: testElementInAFieldsetForSomeModel

 public function testElementInAFieldsetForSomeModel()
 {
     $element = $this->getMoneyFieldset();
     $element->init();
     $fieldset = new Fieldset('hasMoneyElementFieldset');
     $fieldset->add($element, ['name' => 'price']);
     $fieldset->setHydrator(new ClassMethods());
     $fieldset->setUseAsBaseFieldset(true);
     $form = new Form();
     $form->add($fieldset);
     // todo: can't load this
     $form->bind(new HasMoneyPropertyModel());
     $data = ['hasMoneyElementFieldset' => ['price' => ['amount' => '500.25', 'currency' => 'BRL']]];
     $form->setData($data);
     $this->assertTrue($form->isValid());
     $amountValue = $form->get('hasMoneyElementFieldset')->get('price')->get('amount')->getValue();
     $currencyValue = $form->get('hasMoneyElementFieldset')->get('price')->get('currency')->getValue();
     $object = $form->getData();
     $this->assertSame('500.25', $amountValue);
     $this->assertSame('BRL', $currencyValue);
     $this->assertInstanceOf(Money::class, $object->getPrice());
     $this->assertSame(50025, $object->getPrice()->getAmount());
     $this->assertSame('BRL', $object->getPrice()->getCurrency()->getName());
 }
开发者ID:zfbrasil,项目名称:doctrine-money-module,代码行数:24,代码来源:FormIntegrationTest.php

示例2: setHydrator

 /**
  * Set the hydrator to use when binding an object to the element
  *
  * @param  HydratorInterface $hydrator
  * @return FieldsetInterface
  */
 public function setHydrator(HydratorInterface $hydrator)
 {
     if ($this->baseFieldset !== null) {
         $this->baseFieldset->setHydrator($hydrator);
     }
     return parent::setHydrator($hydrator);
 }
开发者ID:,项目名称:,代码行数:13,代码来源:

示例3: testCorrectlyHydrateBaseFieldsetWhenHydratorThatDoesNotIgnoreInvalidDataIsUsed

    public function testCorrectlyHydrateBaseFieldsetWhenHydratorThatDoesNotIgnoreInvalidDataIsUsed()
    {
        $fieldset = new Fieldset('example');
        $fieldset->add(array(
            'name' => 'foo'
        ));

        // Add an hydrator that ignores if values does not exist in the
        $fieldset->setObject(new Entity\SimplePublicProperty());
        $fieldset->setHydrator(new \Zend\Stdlib\Hydrator\ObjectProperty());

        $this->form->add($fieldset);
        $this->form->setBaseFieldset($fieldset);
        $this->form->setHydrator(new \Zend\Stdlib\Hydrator\ObjectProperty());

        // Add some inputs that do not belong to the base fieldset
        $this->form->add(array(
            'type' => 'Zend\Form\Element\Submit',
            'name' => 'submit'
        ));

        $object = new Entity\SimplePublicProperty();
        $this->form->bind($object);

        $this->form->setData(array(
            'submit' => 'Confirm',
            'example' => array(
                'foo' => 'value example'
            )
        ));

        $this->assertTrue($this->form->isValid());

        // Make sure the object was not hydrated at the "form level"
        $this->assertFalse(isset($object->submit));
    }
开发者ID:benivaldo,项目名称:zf2-na-pratica,代码行数:36,代码来源:FormTest.php

示例4: testCanBindObjectMultipleNestedFieldsets

 public function testCanBindObjectMultipleNestedFieldsets()
 {
     $productFieldset = new ProductFieldset();
     $productFieldset->setHydrator(new ClassMethods());
     $productFieldset->setObject(new Product());
     $nestedFieldset = new Fieldset('nested');
     $nestedFieldset->setHydrator(new ClassMethods());
     $nestedFieldset->setObject(new stdClass());
     $nestedFieldset->add(array('name' => 'products', 'type' => 'Collection', 'options' => array('target_element' => $productFieldset, 'count' => 2)));
     $mainFieldset = new Fieldset('main');
     $mainFieldset->setUseAsBaseFieldset(true);
     $mainFieldset->setHydrator(new ClassMethods());
     $mainFieldset->setObject(new stdClass());
     $mainFieldset->add(array('name' => 'nested', 'type' => 'Collection', 'options' => array('target_element' => $nestedFieldset, 'count' => 2)));
     $form = new Form();
     $form->setHydrator(new ObjectPropertyHydrator());
     $form->add($mainFieldset);
     $market = new stdClass();
     $prices = array(100, 200);
     $products[0] = new Product();
     $products[0]->setPrice($prices[0]);
     $products[1] = new Product();
     $products[1]->setPrice($prices[1]);
     $shop[0] = new stdClass();
     $shop[0]->products = $products;
     $shop[1] = new stdClass();
     $shop[1]->products = $products;
     $market->main = $shop;
     $form->bind($market);
     //test for object binding
     foreach ($form->get('main')->getFieldsets() as $_fieldset) {
         foreach ($_fieldset->getFieldsets() as $_nestedfieldset) {
             $this->assertInstanceOf('ZendTest\\Form\\TestAsset\\Entity\\Product', $_nestedfieldset->get('products')->getObject());
         }
     }
 }
开发者ID:pnaq57,项目名称:zf2demo,代码行数:36,代码来源:CollectionTest.php


注:本文中的Zend\Form\Fieldset::setHydrator方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。