Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Symfony 2如何向服务中的控制器响应添加参数_Symfony_Parameters_Controller_Listener - Fatal编程技术网

Symfony 2如何向服务中的控制器响应添加参数

Symfony 2如何向服务中的控制器响应添加参数,symfony,parameters,controller,listener,Symfony,Parameters,Controller,Listener,我目前正在用Syfmony 2开发一个应用程序,我使用fosuser来管理安全性。在应用程序中,用户可以进行许多广告,因此用户对象具有一个或多个ARDVERT。咨询用户档案时,我希望使用knp_paginator bundle显示他的所有广告,而不必覆盖侦听器中的默认fosuser控制器。但是我不知道如何将knp_分页数组传递给控制器的响应。这取决于您在控制器中使用的方法 如果您使用模板注释,那么您的操作将返回一个数组。只需将“广告”添加到此数组 return array( // ..

我目前正在用Syfmony 2开发一个应用程序,我使用fosuser来管理安全性。在应用程序中,用户可以进行许多广告,因此用户对象具有一个或多个ARDVERT。咨询用户档案时,我希望使用knp_paginator bundle显示他的所有广告,而不必覆盖侦听器中的默认fosuser控制器。但是我不知道如何将knp_分页数组传递给控制器的响应。

这取决于您在控制器中使用的方法

  • 如果您使用
    模板
    注释,那么您的操作将返回一个数组。只需将
    “广告”
    添加到此数组

    return array(
        // ...
        'adverts' => $adverts
    );
    
  • 如果使用控制器的
    render
    方法,则参数数组应该是此方法的第二个参数

    return $this->render('your/template.html.twig', array(
        // ...
        'adverts' => $adverts
    ));
    
  • 如果您返回一个
    响应
    实例,那么您可能还会使用
    renderView
    ,它还需要参数数组作为第二个参数

    return new Response($this->renderView('your/template.html.twig', array(
        // ...
        'adverts' => $adverts
    )));
    

谢谢,我将尝试最后两个,但我不确定它是否有效,因为我在一个侦听器中,当我返回$this->render('myTemplate.html.twig',array('adverts'=>$adverts')时,fosuser controller设置的参数是否只添加到我自己的参数中,或者只添加到我自己的参数中,然后传递到模板中?这是什么意思“由fosuser控制器设置的参数”?您能给我们看一些代码吗?我假设默认情况下,当fosuser呈现路由/配置文件时,renderView方法将一些参数(至少是用户)的数组作为简短的参数。我想将我自己的参数添加到其中,但在侦听器中