2016-06-12 9 views
-2

私は最近Symfonyフレームワークをいくつかのプロジェクトで使いたいと思っていましたが、基本的に各コントローラの上にあるコメントである「注釈」のためにルーティングが非常に扱いにくいことに気づきました方法。symfony routing - annotations

routes.phpファイルを作成し、それを使用してルーティングを上書きし、これらの注釈を完全に無効にすることはできますか?すべてのルートが1つのファイルになりたいので、はるかに柔軟でメンテナンスが容易です。

+1

その他は非常に便利なルーティング注釈を考慮する削除する必要があります。 – cilefen

+0

このようにする前に、非常に大きなプロジェクトでは注釈/ ymlを使用していましたが、注釈はPITAのほうがはるかに少ないです。 – Richard

+0

私は、単一のPHPファイル(私の個人的な好みと最も保守的なIMO)で経路を管理する多くのフレームワークを知っていますが、Symfonyは最初のものではなく、目的を壊したようです。 1つの例は、入力サイトを再ルーティングしたい場合、実際にアプリケーションの状態に影響を与えるコメントは言うまでもなく、すべてのルートを1つの場所に転送するだけです。これは決して目的のコメントではなかった – mhvvzmak1

答えて

2

ルート定義にxml、yaml、phpまたは注釈を使用できます。あなただけのapp/config/routing.phpを作成

framework: 
    router: 
     resource: "%kernel.root_dir%/config/routing.php" 

framework: 
    router: 
     resource: "%kernel.root_dir%/config/routing.yml" 

からapp/config/config.ymlthis lineを変更し、app/config/routing.yml

+0

ファイル "routing.yml"は存在しません(C:\ inetpub \ wwwroot \ sym \ demo \ app/config、C:\ inetpub \ wwwroot \ Sym \ demo \ app/Resources)をrouting.yml(C:¥inetpub¥wwwroot¥sym¥demo¥app/config/routing_dev.ymlからインポートしています)にコピーします。 – mhvvzmak1

+0

それは面白いです...どのようにアプリケーションを作成しましたか?私はあなたがsymfonyデモを使ったと推測しますが、ファイルもそこに存在しています(https://github.com/symfony/symfony-demo/tree/3ca2b94f387ca4a4206ccc667ae2d4e10fb75dae/app/config)...あなたは 'routing_dev 'を修正するべきです。 yml'も最後の '_main'リソースとして' routing.php'をインポートして適切な開発環境を持っています(ツールバーを使う)。 – 1ed

+0

私は新しい空のアプリケーションを作成しました。私はdev.ymlの_mainも変更しなければなりませんでした。 – mhvvzmak1

2

注釈(ルーティング用でも他の設定用)は、Symfonyでは絶対に必須ではありません。ドキュメントでわかるように、YAMLを使用してルートを定義することができます。 とにかく、注釈を使用するのがベストプラクティスであり、アクションにどのルートがバインドされているかを即座に取得するため、アドバイスを使用することをおすすめします。 debug:routingコマンドで常にすべてのルートのリストを取得できます