在控制器symfony中使用多次全局参数

时间:2017-07-11 15:01:10

标签: symfony service controller

我需要你在Symfony控制器中的帮助,有一种方法可以使用全局参数并以不同的方法获取不同的值。

其实我有这个。

class ArticleController extends Controller
{
     //Injection of white october bundle

     /** @DI\Inject("white_october_breadcrumbs") */
     private $wob;

     public function indexAction(Request $request)
     {
         $this->wob->addRouteItem("Article", "article_index");
         //Some stuff
     }

     public function addAction(Request $request, $id=0) 
     {
         if($request->get('_route') === "article_add"){
             $this->wob->addRouteItem("Add article", "article_add");
         } else {
             $this->wob->addRouteItem("Edit article", "article_edit");
         }
         //Some stuff
     }

     //Other functions..
}

如您所见,实际上我的面包屑只保留全局参数$wob的最后一个值

示例:

  

主页>制品

     

主页>编辑文章

但我想:

  

主页>文章>编辑文章

不知道是否可能

提前谢谢!

1 个答案:

答案 0 :(得分:0)

您的addActionindexAction完全分开,这些是不同的请求,因此您不能指望在请求之间保留$wob属性的值。 在您的示例中,您只能在同一个操作中创建父级:

public function addAction(Request $request, $id=0) 
{

    $this->wob->addRouteItem("Article", "article_index");

    if($request->get('_route') === "article_add"){
        $this->wob->addRouteItem("Add article", "article_add");
    } else {
        $this->wob->addRouteItem("Edit article", "article_edit");
    }
     //Some stuff
 }