2017-01-27 7 views
1

コントローラとアクションを含むURLを生成する方法はありますか?URLにコントローラとアクションを渡す

私はこのような何かを持つURLを持っている必要があり

/admin/{controller}/{action}/{some other things} 

私はurlを呼び出すときに:/admin/pages/addを私は呼び出します:AdminBundle:Pages:add だから私は、すべてのコントローラとアクションのためにrouting.ymlエントリに追加する必要はありません以下のような私の管理パネルで組み合わせ、:

/admin/page/add 
/admin/page/edit/1 
/admin/user/add 
etc. 

私はこのような何かをルーティングに追加するときに、ことを知っている:

admin_default: 
    path:  /{_controller} 
    defaults: { _controller: AdminBundle:Page:index } 

などがありますが、それは私が期待しているものではありませんが、/admin/AdminBundle:Page:addなどです。

+1

アクションにそれを関連付けます。そこにいくつかの例があります。コピー/ペースト/編集のビットを保存するための多くの仕事。すでにコントローラとメソッドを作成する必要があります。システムにもっと魔法を加​​える価値は本当にありますか? – Cerad

答えて

0

あなたはEsayAdminBudleでこの機能の例を見つけることができます。

$action = $request->query->get('action', 'list'); 

しかし、抽象化がたくさんあるように、コードが複雑になることがあります。

+0

投稿されたコードがコントローラ/アクションを実際にどのようにキックオフするかはっきりと分かりません。 – Cerad

0

は、これを試してみてください@Route、あなたはおそらくControllerResolverを上書きしなければならないこの権利を行うには

/** 
* @Route("/home/list/parameter", name="home-list-parameter") 
* @Method({"POST"}) 
*/ 
    public function getParametersAction() { 
    ... 

http://symfony.com/doc/3.1/routing.html

+0

これはどのように問題に対処していますか? – Cerad

関連する問題