本文整理匯總了PHP中Symfony\Component\Form\FormBuilderInterface::setDataLocked方法的典型用法代碼示例。如果您正苦於以下問題:PHP FormBuilderInterface::setDataLocked方法的具體用法?PHP FormBuilderInterface::setDataLocked怎麽用?PHP FormBuilderInterface::setDataLocked使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Symfony\Component\Form\FormBuilderInterface
的用法示例。
在下文中一共展示了FormBuilderInterface::setDataLocked方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: buildForm
/**
* {@inheritdoc}
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
if (isset($options['include'])) {
$this->include = $options['include'];
}
if (isset($options['multiple'])) {
$this->multiple = $options['multiple'];
}
if ($this->include && !$this->multiple) {
throw new \LogicException("You can't include an object in a single selection!");
}
$builderName = ucfirst($builder->getName());
// TODO: Use a more accurate placeholder
$placeholder = $this->multiple ? 'brad, kierra, ...' : null;
if ($this->include) {
$exclude = $this->include->getType() . ':' . $this->include->getId();
} else {
$exclude = null;
}
// Model IDs that will be manipulated by javascript
$builder->add('ids', 'hidden', array('attr' => array('class' => 'select2-compatible', 'data-exclude' => $exclude, 'data-label' => $builderName, 'data-multiple' => $this->multiple, 'data-required' => $options['required'])));
// Model name inputs that will be edited by users if javascript is
// disabled
foreach ($this->types as $type) {
$pluralType = $this->multiple ? Inflector::pluralize($type) : $type;
$label = count($this->types) > 1 ? "{$builderName} {$pluralType}" : $builderName;
$builder->add($builder->create($type, 'text', array('attr' => array('class' => 'model-select', 'data-type' => $type, 'placeholder' => $placeholder), 'label' => $label, 'required' => false)));
}
if ($this->multiple) {
$transformer = new MultipleAdvancedModelTransformer($this->types);
if ($this->include) {
$transformer->addInclude($this->include);
}
} else {
$transformer = new SingleAdvancedModelTransformer($this->types);
}
$builder->addViewTransformer($transformer);
// Make sure we can change the values provided by the user
$builder->setDataLocked(false);
}