drupal_set_title 无法以模块形式工作

drupal_set_title not working in module form

我正在努力学习 Drupal 8。所以现在,我是 "building" 表单。 我创建了一个模块。 内部 mymodule\src\Form 我有 form1.php

namespace Drupal\mymodule\Form;

use Drupal\Core\Form\FormBase;
use Drupal\Core\Form\FormStateInterface;

class form1 extends FormBase {

  public function getFormId() {
    return 'myform1';
  }

  public function buildForm(array $form, FormStateInterface $form_state) {

    $form['name'] = array(
    '#type' => 'textfield',
    '#title' => t('Your name'),
    '#maxlength' => 30,
    );
    $form['Lastname'] = array(
    '#type' => 'textfield',
    '#title' => t('Your lastname'),
    );
    $form['submit'] = array(
      '#type' => 'submit',
      '#value' => t('Submit'),
    );
    return $form;
  }

和作品... 但是当我想在页面上添加标题时,在我的例子中并使用

链接到 my_module.routing.yml, 127.0.0.1/form1
...
public function buildForm(array $form, FormStateInterface $form_state) {

drupal_set_title(t('This is a Title'));

    $form['name'] = array(
    '#type' => 'textfield',
    '#title' => t('Your name'),
    '#maxlength' => 30,
    );
...

我收到以下错误:

错误: 致命错误:在 C:\xampp\htdocs\drupalwebsite\modules\custom\mymodule\src\Form\form1.php 中第 16[=14= 行调用未定义的函数 Drupal\mymodule\Form\drupal_set_title() ]

第 16 行是:

drupal_set_title(t('This is a Title'));

所以问题出在标题上。我试图解决它,但我不能。 有人知道为什么吗? 非常感谢

根据 https://www.drupal.org/node/2067859,drupal_set_title() 在 D8 中被删除。您是否尝试过 link 中提到的替代方法,例如:

$form['#title'] = $this->t('This is a Title');