使用HTML.PHP而不是html.twig-不起作用

时间:2018-11-29 05:05:12

标签: php html symfony model-view-controller twig

    class DefaultController extends Controller
{

    public function indexAction($page, $name)
    {


        return $this->render('default/new.html.php'
    //         , array(
    //     $name => 'bob'
    // )
    );
    }
}

new.html.php

<p>Welcome to the index   <?= $name; ?></p> 

当我使用此代码时,它返回一条错误消息。

但是

<p>Welcome to the index {{ name }}

这将向我返回正确的输出。

我想使用html.php而不是html.twig

我正在经历这个https://symfony.com/doc/3.4/templating/PHP.html

routing.yml

app:
    path:      /dd
    defaults:
        _controller: AppBundle:Default:index
        page:        1
        name:       "bob"

config.yml

framework:
    # ...
    templating:
        engines: ['twig', 'php']

注意:我正在使用ubuntu16.04和Symfony 3.4

1 个答案:

答案 0 :(得分:0)

根据Symfony文档在本地尝试:

/**
 * @Route("/test", name="test_route")
 */
public function test()
{
    return $this->render(
        'test.html.php',
        [
            'test_var' => 'Hello test',
        ]
    );
}

我的test.html.php

<?php
echo $test_var;

这将输出Hello test

PS:尝试过get_defined_vars();,该变量应该在那里出现。