symfony 2.7在模板

时间:2015-09-16 13:03:45

标签: symfony

我试图通过模板上的$ this-render(' url',数组)访问我传递的数组。我按照Symfony的书中得到了这个例子,我无法让它工作。

我的控制器

namespace AppBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Response;

class LuckyController extends Controller{

/**
 * @Route("lucky/number/{count}")
 */
public function numberActionTemplate($count){
    $numbers = array();

    for($i = 0; $i < $count; $i++){
        $numbers[] = rand(0, 100);
    }

    $results = implode(',', $numbers);

    $numbers = array(0=>'b', 1=>'a', 2=>'c');

    return $this->render('lucky/number.html.php', array('luckyNumberList' => $numbers));
}

我的模板

<html>
 <head>
 <h1>Testing</h1>
 </head>
 <body>
 <ul>
    <li>
        <?php $luckyNumberList[0] ?>
    </li>
 </ul>
 </body>
 </html>

此时我不确定我做错了什么。基本的PHP体验,几天前开始使用symfony。

3 个答案:

答案 0 :(得分:1)

Symfony正在使用Twig模板,而您正在尝试使用PHP模板。

编写它的正常方法是:

<li>
     {{ luckyNumberList[0] }}
</li>    

您可以查看Twig参考:

http://symfony.com/en/doc/current/book/templating.html

答案 1 :(得分:1)

您使用了什么代码?我搜索了class LuckyController并从official documentation找到了此代码:

{# app/Resources/views/lucky/number.html.twig #}
{% extends 'base.html.twig' %}

{% block body %}
    <h1>Lucky Numbers: {{ luckyNumberList }}</h1>
{% endblock %}

请注意,此Twig模板中没有PHP。

如果要显示PHP表中的一个值,可以access to any item from the array with Twig

…
<h1>Lucky Numbers: {{ luckyNumberList[0] }}</h1>
…

答案 2 :(得分:1)

您似乎忘了使用echo,没有任何严重的事情:

<?php echo $luckyNumberList[0] ?>

我想你在配置中包含了php模板引擎:

# app/config/config.yml
framework:
    # ...
    templating:
        engines: ['php', 'twig']