5

たとえば、次のようにリンクします。

/shop/phones/brend/apple/display/retina/color/red

どこ:

phones    - category alias
brend     - name of attribute;   apple    - attribute value
display   - name of attribute;   retina   - attribute value
color     - name of attribute;   red      - attribute value

属性は任意の数にすることができます。また、順番が異なる場合がございます。

ルートの始まりは明らかです。

/shop/{category}

そして、次に何をすべきかは不明です。

symfony 1 では、最後の星 ("/shop/:category/*") のセットと、明確にマークされていないすべてのセットが、

name -> value

質問: symfony 2 でルートを記述する方法は?

4

1 に答える 1

11

ルート:

my_shop:
  pattern: "/{path}"
  defaults: { _controller: "MyShopBundle:Default:shop" }
  requirements:
    path: "^shop/.+"

次に、コントローラーの$pathを解析するだけです。

class DefaultController extends Controller {
...
    public function shopAction($path) {
        // $path will be 'shop/phones/brend/apple/display/retina/color/red'
        ...
    }
...
}
于 2012-07-23T22:39:09.273 に答える