我正在尝试从混乱的 PHP 模板结构(带有许多重复的代码)转移到插槽,以帮助我们在扩展中拥有类似的树枝哲学。
Form/form.html.php 的代码是:
<?php
/**
* @var \Symfony\Bundle\FrameworkBundle\Templating\TimedPhpEngine $view
* @var \Symfony\Bundle\FrameworkBundle\Templating\Helper\FormHelper $formHelper
* @var \Symfony\Component\Templating\Helper\SlotsHelper $slotsHelper
* @var \Symfony\Component\Form\FormView $form
*/
$formHelper = $view['form'];
$slotsHelper = $view['slots'];
?>
<div class="form-wrapper">
<?php $slotsHelper->output('form-start', $formHelper->start($form)) ?>
<?php $slotsHelper->output('form-widget', $formHelper->widget($form)) ?>
<?php $slotsHelper->output('form-end', $formHelper->end($form)) ?>
</div>
Run Code Online (Sandbox Code Playgroud)
另一个模板 Form/Order/form.html.php 的代码是
<?php
/**
* @var \Symfony\Bundle\FrameworkBundle\Templating\TimedPhpEngine $view
* @var \Symfony\Bundle\FrameworkBundle\Templating\Helper\FormHelper $formHelper
* @var \Symfony\Component\Templating\Helper\SlotsHelper $slotsHelper
* @var \Symfony\Component\Form\FormView $form
*/
$formHelper = $view['form'];
$slotsHelper = $view['slots'];
$view->extend(':Form:form.html.php'); …Run Code Online (Sandbox Code Playgroud)