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


PHP FormConfigInterface::getInheritData方法代码示例

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


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

示例1: add

 /**
  * {@inheritdoc}
  */
 public function add($child, $type = null, array $options = array())
 {
     if ($this->submitted) {
         throw new AlreadySubmittedException('You cannot add children to a submitted form');
     }
     if (!$this->config->getCompound()) {
         throw new LogicException('You cannot add children to a simple form. Maybe you should set the option "compound" to true?');
     }
     // Obtain the view data
     $viewData = null;
     // If setData() is currently being called, there is no need to call
     // mapDataToForms() here, as mapDataToForms() is called at the end
     // of setData() anyway. Not doing this check leads to an endless
     // recursion when initializing the form lazily and an event listener
     // (such as ResizeFormListener) adds fields depending on the data:
     //
     //  * setData() is called, the form is not initialized yet
     //  * add() is called by the listener (setData() is not complete, so
     //    the form is still not initialized)
     //  * getViewData() is called
     //  * setData() is called since the form is not initialized yet
     //  * ... endless recursion ...
     //
     // Also skip data mapping if setData() has not been called yet.
     // setData() will be called upon form initialization and data mapping
     // will take place by then.
     if (!$this->lockSetData && $this->defaultDataSet && !$this->config->getInheritData()) {
         $viewData = $this->getViewData();
     }
     if (!$child instanceof FormInterface) {
         if (!is_string($child) && !is_int($child)) {
             throw new UnexpectedTypeException($child, 'string, integer or Symfony\\Component\\Form\\FormInterface');
         }
         if (null !== $type && !is_string($type) && !$type instanceof FormTypeInterface) {
             throw new UnexpectedTypeException($type, 'string or Symfony\\Component\\Form\\FormTypeInterface');
         }
         // Never initialize child forms automatically
         $options['auto_initialize'] = false;
         if (null === $type && null === $this->config->getDataClass()) {
             $type = 'Symfony\\Component\\Form\\Extension\\Core\\Type\\TextType';
         }
         if (null === $type) {
             $child = $this->config->getFormFactory()->createForProperty($this->config->getDataClass(), $child, null, $options);
         } else {
             $child = $this->config->getFormFactory()->createNamed($child, $type, null, $options);
         }
     } elseif ($child->getConfig()->getAutoInitialize()) {
         throw new RuntimeException(sprintf('Automatic initialization is only supported on root forms. You ' . 'should set the "auto_initialize" option to false on the field "%s".', $child->getName()));
     }
     $this->children[$child->getName()] = $child;
     $child->setParent($this);
     if (!$this->lockSetData && $this->defaultDataSet && !$this->config->getInheritData()) {
         $iterator = new InheritDataAwareIterator(new \ArrayIterator(array($child->getName() => $child)));
         $iterator = new \RecursiveIteratorIterator($iterator);
         $this->config->getDataMapper()->mapDataToForms($viewData, $iterator);
     }
     return $this;
 }
开发者ID:ayoah,项目名称:symfony,代码行数:61,代码来源:Form.php

示例2: __construct

 public function __construct(FormConfigInterface $config)
 {
     if ($config->getCompound() && !$config->getDataMapper()) {
         throw new LogicException('Compound forms need a data mapper');
     }
     if ($config->getInheritData()) {
         $this->defaultDataSet = true;
     }
     $this->config = $config;
     $this->children = new OrderedHashMap();
 }
开发者ID:lovenunu,项目名称:miniphpy,代码行数:11,代码来源:sf2_form.min.php


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