2

Symfony2 でルーティングがどのように機能するかを学ぼうとしていますが、これまでに読んだものには次のような例があります。

blog:
    path:      /blog/{page}
    defaults:  { _controller: AcmeBlogBundle:Blog:index, page: 1 }

これにより、/blog/123 へのリクエストが AcmeBlogBu​​ndle ブログ コントローラーの "index" アクションにルーティングされ、123 パラメーターが "page" パラメーターとしてそのコントローラー アクションに渡されます。ページ パラメータが渡されない場合、ページはデフォルトで 1 になります。

これで問題ありませんが、単純に次のように物事を通過させる規則ベースのルーティング システムが必要な場合はどうすればよいでしょうか。

/{bundle}/{controller}/{action}

したがって、次のような URL の場合:

/acme/blog/index

次に、AcmeBlogBu​​ndle ブログ コントローラーの "index" アクションを呼び出します。

特定のルーティング構成は必要ありません。URL からバンドル、コントローラー、およびアクションを推測するだけです。そのため、引き続きバンドル、コントローラー、およびアクションを追加でき、ルーティング構成を変更する必要はありません。それだけで機能します。

これが不可能な場合、少なくとも URL からコントローラーとアクションを推測できますか? たとえば、バンドルを明確に識別するルートが必要かもしれませんが、URL からコントローラーとアクションを取得できますか?

routing に関するSymfony の「The Book」ページを読みましたが、これを行う方法がわかりませんでした。

4

1 に答える 1