完整的错误消息
:是错误:传递给Symfony \ Bundle \ FrameworkBundle \ Controller \ Controller :: render()的参数3必须是Symfony \ Component \ HttpFoundation \ Response的实例,或者为null,给定数组,在C:\ xampp \中调用htdocs \ tpOne \ src \ Esprit \ ParcBundle \ Controller \ VoitureController.php,第41行*
list.html.twig
<ul>
{% for marque in marques %}
<li>{{ marque|upper }}</li>
{% else %}
<strong>la liste des marques est vide!</strong>
{% endfor %}
</ul>
routing.yml
esprit_parc_homepage:
path: /
defaults: { _controller: EspritParcBundle:Default:index }
esprit_parc_affichage:
path: //afficher/{marque}
defaults: { _controller: EspritParcBundle:Voiture:affichage }
esprit_parc_list:
path: /listvoiture
defaults: { _controller: EspritParcBundle:Voiture:list }
Voiture.controller.php
<?php
namespace Esprit\ParcBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Component\HttpFoundation\Response;
class VoitureController extends Controller
{
/**
* @Route("/affichage/{marque}")
*/
public function affichageAction($marque)
{
return $this->render("@EspritParc/Voiture/affichage.html.twig", array('marque'=>$marque
// ...
));
}
public function listAction() {
//array
$marques=array('BMW','RENAULT','PEUGEOT','FIAT');
$voitures=array(
array(
'id'=>'c2345',
'serie'=>'176',
'dateMiseCirculation'=>'11/10',
'marque'=>'BMW' ),
array(
'id'=>'A2345',
'serie'=>'156',
'dateMiseCirculation'=>'23/06',
'marque'=>'Renault' ),
array(
'id'=>'w0308',
'serie'=>'160',
'dateMiseCirculation'=>'30/08',
'marque'=> 'Fiat')
);
return $this->render("@EspritParc/Voiture/list.html.twig",array('marques'=>$marques),array('voitures'=>$voitures));
}
}
答案 0 :(得分:0)
我找到了解决方案。问题出在VoitureController.php
中。 render
应该这样写:
return $this->render("@EspritParc/Voiture/list.html.twig", array(
'marques'=>$marques,
'voitures'=>$voitures
));