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

Rendering forms

Staying on forms for just a bit longer, let's quickly learn how to render forms programmatically. 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 when 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.

主站蜘蛛池模板: 务川| 田东县| 邯郸县| 静乐县| 布尔津县| 孝昌县| 昌平区| 淅川县| 赤城县| 佳木斯市| 巴塘县| 镇安县| 二连浩特市| 合山市| 冕宁县| 伊宁县| 神农架林区| 武汉市| 昆明市| 富顺县| 韶山市| 方城县| 保定市| 雷州市| 林口县| 新晃| 庆元县| 淮安市| 保定市| 鱼台县| 彭泽县| SHOW| 礼泉县| 江门市| 临潭县| 成武县| 潞城市| 慈利县| 抚顺市| 荥阳市| 贞丰县|