12619


[【Symfony2】RoutingはAnnotationで記述すると管理が楽になる！ |
ゆとりっち](http://www.starlod.net/symfony2-routing-annotation.html)

このページを参考に、アノテーションを使ったルーティングの記述についてはある程度理解できました。

しかしこの機能をどのように使えば、何のメリットがあるかがわかりません。

例えば会員登録のようなコントローラを書くとして、この方法でルーティングを記述する利点はどこにあるのでしょうか？


CC BY-SA 3.0
2015-07-22T04:10:35.300
12562
2015-07-23T11:32:43.263
2015-07-22T07:19:56.457
8000
10533
question
symfony2 url-routing
アノテーションを使用したルーティングの使いどころ・利点がわかりません


app/config/routing.yml かアノテーションをどちらを選ぶかは、好みや慣れの問題だと思います。

それぞれのメリットは前者が俯瞰的に把握しやすく、後者はアクションとの対応関係が一目で把握しやすいことです。

アノテーションの表記に対して違和感や拒絶感が強く、思考停止して、作業が進まないというのであれば、無理をして使う必要はないと思います。

ルートの一覧は app/console から調べることができます。

[code]

    php app/console debug:router
    
[/code]

「会員登録」ということばの意味が Security コンポーネントによるユーザー認証と認可に該当するのであれば、ルーティング (@Route)
とは異なる別のアノテーションが用意されています (@Security)。ユーザー認証と認可に関する設定ファイルは
app/config/security.yml です。

次の index アクションでは ROLE_ADMIN のロールをもったユーザーしかアクセスできないようになっています。

[code]

    use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
    use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
    use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security;
    
    /**
     * @Route("/hello/{firstName}/{lastName}", name="homepage_hello")
     * @Method({"GET", "POST"})
     * @Security("has_role('ROLE_ADMIN')")
     */
    
    public function indexAction($firstName, $lastName)
    {
    }
    
[/code]

Security
コンポーネントのマニュアルを読んでも、すぐに手が動かないかもしれませんので、些細なことでもわからないことがあったら、一人で悩まずに気軽に質問するとよいでしょう。


CC BY-SA 3.0
2015-07-23T11:27:30.843
12619
2015-07-23T11:32:43.263
2015-07-23T11:32:43.263
568
568
12562
answer