将 `new \Cake\View\ViewBuilder()` 连接到主要的 `\Cake\Http\ServerRequest`

Connecting `new \Cake\View\ViewBuilder()` to the main `\Cake\Http\ServerRequest`

我正在通过新的独立 ViewBuilder.

将视图模板渲染到变量中
$builder = new \Cake\View\ViewBuilder();
$builder->setLayout('my_layout');
$builder->setTemplate('my_template');

以上模板包含一个表单。

echo $this->Form->create(null, array(
    'type' => 'POST',
    'url' => '/',
)).PHP_EOL;
$this->Form->unlockField('my_input');
echo $this->Form->end();

提交时出现以下错误。

'_Token' was not found in request data.

据我了解,未添加令牌是因为 FormHelper 收到 false when it checks for $this->_View->getRequest()->getParam('_Token'),那是因为这个新的 ViewBuilder 不是t 连接到应用程序运行的实际请求。

有没有办法将我的新 ViewBuilder 连接到应用程序的主要 Cake\Http\ServerRequest

你可以把它传给$builder->build,它是第二个参数,你通常可以从$this->getRequest()得到它。