とあるセクシーなデータ分析官

を目指す渋谷で働くソーシャルゲーム分析者の卵

symfony日記20

routing.ymlで適切なルーティングを行うためための3つの手順


symfonyでは特定のアプリケーションのモジュールを
ルートのドメインでアクセスされた時に表示することができる。

例えば下記のアドレスを後者でアクセスできるようにしたい場合を考える
http://hoge.com/front.php/user/list
http://hoge.com

1.index.phpの設定
symfonyでは、プロジェクトルートのweb/index.phpにて
ルートのドメインでアクセスされた時に表示されるアプリケーションが1つだけ決まっているので設定する。

define('SF_ROOT_DIR',    realpath(dirname(__FILE__).'/..'));
define('SF_APP',         'hoge');  ←ここを「front」にする
define('SF_ENVIRONMENT', 'prod');
define('SF_DEBUG',       true);

現在、hogeアプリとfrontアプリがあるがURLを省略したい方のアプリケーション名をしていすればいい。



2.routing.ymlの設定
次にapps/front/config/routing.ymlの編集を行う。

homepage:
  url:   /
  param: { module: default, action: index }


ファイルを開くとこのようにデフォルトでは設定されている。
ここでparamのmoduleにて表示したいモジュール
actionにて表示したいアクションを指定することができる。

今回の場合はuserモジュールのlistアクションを表示させたいので
param: { module: default, action: index }

param: { module: user, action: list }
このように設定すればいい。



3.symfony cc
最後に忘れずにルートディレクトリでsymfony ccすれば作業完了。
これで目的のURL(http://hoge.com)にする事ができます。



参考:symfony徹底攻略(前田 雅史)