blogチュートリアル(13) ルーティング
最後にsymfonyのルーティング機能について少しだけ触れておきましょう。
ルーティングとは、任意のURLを任意のモジュール・アクションへ結びつける機能で、これにより、 モジュール/アクション形式にとらわれない、自由できれいなURLを実装することができます。
まずは、apps/frontend/config/routing.yml
ファイルをエディタで開いてください。 以下のような内容になっているはずです。
# You can find more information about this file on the symfony website: # http://www.symfony-project.org/reference/1_4/en/10-Routing # default rules homepage: url: / param: { module: default, action: index } # generic rules # please, remove them by adding more specific rules default_index: url: /:module param: { action: index } default: url: /:module/:action/*
これが初期状態でのルーティング設定で、3つのルーティングがあります。
- homepage: ルートディレクトリにアクセスした時に実行されるモジュールとアクションを指定しています
- default_index: ルートディレクトリ + モジュール名という形式のURLにアクセスした場合に、モジュール名に対応するモジュールのindexアクションが実行される設定です
- default: ルートディレクトリ + モジュール名/アクション名という形式のURLにアクセスした場合に、対応するモジュールのアクションが実行される設定です。通常、1と2以外のすべてのURLがこのルートにマッチします。
投稿一覧をホームページに
では、投稿一覧をホームページに設定してみましょう。 routing.yml
のhomepage
の部分を、以下のように変更します。
homepage: url: / param: { module: post, action: index }
これで、post
モジュールのindex
アクションが、ホームページに設定されました。 ブラウザでホームページ(今回は、http://~~/frontend_dev.php
)にアクセスして、投稿一覧画面が表示されることを確認してみてください。
投稿の追加や編集画面では、データの保存後に「
post/index
」へリダイレクトしていますが、このリダイレクト先のURLが自動的に変更されていることにお気づきでしょうか。 また、追加画面、編集画面にある「一覧に戻る」というリンクのURLも自動的に変更されています。 link_toヘルパーを使って生成しているリンクは、ルーティング設定に応じて自動的に切り替わります。
インデックス
Document Index
関連ページリスト
Related Pages
- blogチュートリアル(1) Symfonyの準備
- blogチュートリアル(2) データベースの設定
- blogチュートリアル(3) スキーマの定義とテーブルの生成
- blogチュートリアル(4) 追加の設定
- blogチュートリアル(5) mod_rewriteについてと、初期表示の確認
- blogチュートリアル(6) モデルの作成
- blogチュートリアル(7) postモジュールの作成
- blogチュートリアル(8) ビューの作成
- blogチュートリアル(9) 記事の追加
- blogチュートリアル(10) データのバリデーション
- blogチュートリアル(11) 投稿記事の削除
- blogチュートリアル(12) 投稿記事の編集
- blogチュートリアル(13) ルーティング
- blogチュートリアル(14) まとめと応用
日本語ドキュメント
Japanese Documents
- 2011/01/18 Chapter 17 - Extending Symfony
- 2011/01/18 The generator.yml Configuration File
- 2011/01/18 Les tâches
- 2011/01/18 Emails
- 2010/11/26 blogチュートリアル(8) ビューの作成