Spec-Zone.ru › Symfony 3.4

Формы

класс Forms

Точка входа компонента формы.

Используйте этот класс для удобного создания новых фабрик форм:

use Symfony\Component\Form\Forms;

$formFactory = Forms::createFormFactory();

$form = $formFactory->createBuilder() ->add('firstName', 'Symfony\Component\Form\Extension\Core\Type\TextType') ->add('lastName', 'Symfony\Component\Form\Extension\Core\Type\TextType') ->add('age', 'Symfony\Component\Form\Extension\Core\Type\IntegerType') ->add('gender', 'Symfony\Component\Form\Extension\Core\Type\ChoiceType', array( 'choices' => array('Male' => 'm', 'Female' => 'f'), )) ->getForm();

Вы также можете добавить пользовательские расширения к фабрике форм:

$formFactory = Forms::createFormFactoryBuilder() ->addExtension(new AcmeExtension()) ->getFormFactory();

Если вы создаёте пользовательские типы форм или расширения типов, рекомендуется создавать собственные расширения, которые загружают эти типы и расширения лениво. В проектах, где производительность не так важна, вы также можете передать их непосредственно в фабрику форм:

$formFactory = Forms::createFormFactoryBuilder() ->addType(new PersonType()) ->addType(new PhoneNumberType()) ->addTypeExtension(new FormTypeHelpTextExtension()) ->getFormFactory();

Поддержка компонента валидации предоставляется расширением ValidatorExtension. Это расширение нуждается в объекте валидатора для правильной работы:

use Symfony\Component\Validator\Validation; use Symfony\Component\Form\Extension\Validator\ValidatorExtension;

$validator = Validation::createValidator(); $formFactory = Forms::createFormFactoryBuilder() ->addExtension(new ValidatorExtension($validator)) ->getFormFactory();

Поддержка компонента шаблонизации предоставляется расширением TemplatingExtension. Это расширение нуждается в объекте PhpEngine для рендеринга форм. В качестве второго аргумента вы должны передать имена темы по умолчанию. Вот пример использования стандартной макетной разметки с тегами "

":

use Symfony\Component\Form\Extension\Templating\TemplatingExtension;

$formFactory = Forms::createFormFactoryBuilder() ->addExtension(new TemplatingExtension($engine, null, array( 'FrameworkBundle:Form', ))) ->getFormFactory();

Следующий пример показывает, как включить макетную разметку "

":

use Symfony\Component\Form\Extension\Templating\TemplatingExtension;

$formFactory = Forms::createFormFactoryBuilder() ->addExtension(new TemplatingExtension($engine, null, array( 'FrameworkBundle:Form', 'FrameworkBundle:FormTable', ))) ->getFormFactory();

Методы

static Интерфейс фабрики форм createFormFactory()

Создаёт фабрику форм с настройками по умолчанию.

static Интерфейс билдера фабрики форм createFormFactoryBuilder()

Создаёт билдер фабрики форм с настройками по умолчанию.

Подробности

static Интерфейс фабрики форм createFormFactory()

Создаёт фабрику форм с настройками по умолчанию.

Значение возврата

Интерфейс фабрики форм Фабрика форм

static Интерфейс билдера фабрики форм createFormFactoryBuilder()

Создаёт билдер фабрики форм с настройками по умолчанию.

Значение возврата

Интерфейс билдера фабрики форм Билдер фабрики форм
Сгенерировано Sami, генератором документации API.

© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.4/Symfony/Component/Form/Forms.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API