2017-01-25 4 views
0

私はSymfonyを初めて使用しています。インストールしたばかりで、デフォルトのAppBundleを削除して自分自身を生成しました。今、私は自分のサイトのショー、すなわち言い換えれば、いくつかのリアルタイムデータを集計するアプリケーションを作成しようとしています。symfonyコントローラ内でバンドルの異なる機能をグループ化する方法

賃貸可能なアパートをレンタルして表示します。

私が持っている問題は技術的なものではなく、戦略的なものです。

私のアプリのさまざまなタスクを分割し、それを意味のある方法でグループ化する方法はわかりません。

あなたにいくつかの洞察力を与えるために、私はこのことから、今

/       # index page 
/about      
/contact 
/login 
/register 
/subscribe     # subscribe to a newsletter 
/search?q=..    # display search result 
/announce/add    # add new apartment for rent 
/announce/{id}/{slug}  # unique url for each anounce 
/announce/{id}/{slug}/edit # edit announce if submitted by user 

ための心の中でそれらのURLを持って、私は多分、私のように、コントローラへのルートをマップする必要があります考えています:これ、だから、

/       DefaultController::indexAction() 
/about      DefaultController::aboutAction() 
/contact     DefaultController::contactAction() 

/login      UserController::loginAction() 
/register     UserController::registerAction() 

/subscribe     UserController::subscribeAction() 

/search?q=..    SearchController::searchAction() 

/announce/add    AnnounceController::addAction() 
/announce/{id}/{slug}  AnnounceController::showAction() 
/announce/{id}/{slug}/edit AnnounceController::editAction() 

私が今考えていることはすべてです。

+0

[OK]をしかし、あなたは私達に何を聞いていますか?あなたが4コントローラーか5コントローラーかを教えてください。 – goto

+0

ルータの構造についての考え方に欠陥があるかどうかを知りたい場合>コントローラーのマッピング –

+0

あなたに何か「オフ」と思われる、または避けるべきことがあるかどうかを教えてください –

答えて

1

まず、symfonyの優れた点に注意してください。 AppBundleを一意のバンドルとして使用することをお勧めします。あなたが使用しようとしているコントローラの選択は、技術的な観点からはあまり重要ではありません。それはあなたがここで良いpraticesをたくさん見つけることができます簡単に

お使いのコントローラのアクションを見つけるためにコヒーレントである必要があります:http://symfony.com/doc/current/best_practices/index.html

+0

これは質問に答えませんか?私はAppBundleを削除し、独自の名前空間を持つ新しいものを作成しました。 AppBundleは一意ではなく、単なるデフォルトバンドルです。また、私はベストプラクティスのページを見て、それは私の質問に答えがありません。 –

+0

あなたが使っているユニークなバンドルの名前としてAppBundleを使うのは良いことです。 質問が不明です。あなたはその答えを持っているようです。コントローラー間でアクションを分けた方法は、論理的であるようです – actarus

関連する問題