Quantcast
Channel: omnioo lab. record » PHP/MySQL
Viewing all articles
Browse latest Browse all 59

Symfony2で作成したページを確認

$
0
0

Symfony2はバンドルという基幹システムみたいなもので様々なページを作成しますが、いろんなバンドルを作っているとどれぐらいのアクセス可能なページがあるのかわからなくなってきます。通常のHTMLだと作ったファイルとディレクトリを確認すれば、すなわちそれがアクセスURLとなるわけですが、Symfony2はそうはいきません。ルーティングでもってその都度ページごと生成してhttpで返すということをやっているので実質的なHTMLファイルやPHPファイルなんかはないのです。
なので、作成したページ(作成したリーティング?)を確認するにはどうしたらよいかというと、開発モードのプロファイラーで作成しているバンドルを確認することになります。
http://example.com/symfony2/web/app_dev.php/
開発モードにアクセスすると上下部に小さなコントローラーみたいなものが出てくるので、図の赤枠の部分をクリックします。
symfony2_bundle_viewer
クリックすると一覧が表示されてその1番下に「Active bundles」という項目あります。そこが現在設定されているバンドルすべてになります。


さてバンドルではそれぞれのページをルーティングによって生成しています。このルーティングの設定は、

src/[NAMESPACE]/[BUNDLE NAME]/Resources/config/routing.yml

なので、grepしてやるとそのパスが分かります。Symfony2.2以降ではpathも使えるので、

find ./src -name ‘routing.yml’ | xargs grep -n ‘path:’
find ./src -name ‘routing.yml’ | xargs grep -n ‘pattern:’
find ./src -name ‘routing.yml’ | xargs grep -n ‘prefix:’

というので全項目を出力できます。
./src/Blog/BlogBundle/Resources/config/routing.yml:2: pattern: /hello/{name}
これは、URIがhttp://www.example.com/で、symfony2/webがSymfonyのコンテンツだとすると、

  • [dev] http://www.example.com/symfony2/web/app_dev.php/hello/{name}
  • [prod] http://www.example.com/symfony2/web/app.php/hello/{name}
がアクセス先になります。実際はドバーっとたくさん出てくると思うので結構みづらいです。なかなか面倒ですね。もっと簡単な方法あるかもなので、わかる方いましたら教えてください。

Viewing all articles
Browse latest Browse all 59

Trending Articles