我试图通过模板上的$ 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。
答案 0 :(得分:1)
Symfony正在使用Twig模板,而您正在尝试使用PHP模板。
编写它的正常方法是:
<li>
{{ luckyNumberList[0] }}
</li>
您可以查看Twig参考:
答案 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']