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

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.

主站蜘蛛池模板: 阳西县| 当雄县| 永嘉县| 泌阳县| 同江市| 清原| 宜宾市| 辽源市| 沙雅县| 无棣县| 元江| 云安县| 太仆寺旗| 长泰县| 平塘县| 辽阳县| 湟源县| 鄂伦春自治旗| 方正县| 蒲江县| 吴江市| 金华市| 万山特区| 新竹县| 大石桥市| 淮滨县| 安阳县| 江西省| 富锦市| 额尔古纳市| 中牟县| 萝北县| 嘉义市| 梧州市| 汉寿县| 长沙县| 抚顺市| 佳木斯市| 绩溪县| 河东区| 五常市|