官术网_书友最值得收藏!

Rendering forms

Staying on forms for just a bit longer, let's quickly learn how to render forms programmatically. Also, we have already seen how to map a form to a route definition so that the page being built contains the form when accessing the route path. However, there are times where we need to render a form programmatically, either inside a Controller or a block or wherever you want. We can do this using the FormBuilder service.

The form builder can be injected using the form_builder service key or used statically via the shorthand:

$builder = \Drupal::formBuilder();

Once we have it, we can build a form, like so:

$form = $builder->getForm('Drupal\hello_world\Form\SalutationConfigurationForm');

In the preceding code, $form will be a render array of the form that we can return, for example, inside a Controller. We'll talk more about render arrays a bit later on, and you'll understand how they get turned into actual form markup. However, for now, this is all you need to know about rendering forms programmatically--you get the form builder and request from it the form using the fully qualified name of the form class.

With this, we can close the parenthesis on forms.

主站蜘蛛池模板: 常宁市| 双桥区| 龙海市| 奉节县| 许昌市| 微山县| 安达市| 昂仁县| 罗田县| 嘉荫县| 米脂县| 菏泽市| 江口县| 东平县| 南江县| 贡觉县| 库伦旗| 西昌市| 泉州市| 乌鲁木齐县| 格尔木市| 洪江市| 平凉市| 扎兰屯市| 四平市| 枞阳县| 郓城县| 黎城县| 西丰县| 临猗县| 泰州市| 武义县| 青岛市| 武汉市| 信阳市| 九龙坡区| 定陶县| 新昌县| 泰州市| 赤峰市| 武安市|