SlideShare uma empresa Scribd logo
1 de 9
Baixar para ler offline
Symfony2
meets
AngularJS
19th April 2014
Symfony勉強会 #9 LT
@77web
AngularJS
• JavaScriptのMVCフレームワー
クの一つ
• PHPでたとえるとjQueryが
PEARで、Angularは
cake,symfony,zend
frameworkみたいな感じ
Symfony2のプロジェクトに
導入してみます
• 公式サイトからダウンロードしてsrc/Acme/
DemoBundle/Resources/public/jsに入れる
• CDN利用
• バンドル利用

https://packagist.org/search/?tags=angular
angular.jsの基本的な書き方
はチュートリアル等を各自見
てもらうとして…
例その1:
表示を変化させてみる
• ソースコード https://github.com/77web/
sfstudy_ja_lt_symfony_meets_angular/
commit/
12a685e419e4293217130cc4234c15d86b0
b42f4
例その2:
REST APIをコールして結果を表示してみる
• ソースコード https://github.com/77web/
sfstudy_ja_lt_symfony_meets_angular/
commit/
9f3b2468ea40ff6f336cdd47f7d9e78f73e672
c1
• デモなのでコントローラを自作しましたがREST
APIをたくさん作るときはFOSRestBundleを使う
と便利です
例その3:
フォームを送信してみる
• ソースコード https://github.com/77web/
sfstudy_ja_lt_symfony_meets_angular/commit/
3c43bcda68c54989d7a74dfa883249e8ecd310
0f
• デモなのでフォームもSymfony側から出しましたが、
実際はどんなフォームHTMLでもng-modelを適切に
足せば動作する(作り方次第では
SymfonyComponentFormを回避することもでき
る)
(おまけ)
Symfony2でangular.jsを使うときの
TIPS & TRICKS
• twigと変数表記が同じ(変数hogeを表すのは{{
hoge }})なので{% verbatim %}と{% endverbatim
%}で囲う。
ありがとうございました。
!
[デモで使用したコード]
https://github.com/77web/
sfstudy_ja_lt_symfony_meets_angular

Mais conteúdo relacionado

Mais procurados

ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011Hiroh Satoh
 
Isomorphic web development with scala and scala.js
Isomorphic web development  with scala and scala.jsIsomorphic web development  with scala and scala.js
Isomorphic web development with scala and scala.jsTanUkkii
 
Jsug spring bootコードリーディング 接触篇 a contact
Jsug spring bootコードリーディング 接触篇 a contactJsug spring bootコードリーディング 接触篇 a contact
Jsug spring bootコードリーディング 接触篇 a contacttsukasa tamaru
 
Directiveで実現できたこと
Directiveで実現できたことDirectiveで実現できたこと
Directiveで実現できたことKon Yuichi
 
翻訳から始めるVue.js 入門
翻訳から始めるVue.js 入門翻訳から始めるVue.js 入門
翻訳から始めるVue.js 入門Makoto Chiba
 
Type scriptmemo
Type scriptmemoType scriptmemo
Type scriptmemoytanno
 
フレームワーク品評会 Ruby on Rails #crossjp
フレームワーク品評会 Ruby on Rails #crossjpフレームワーク品評会 Ruby on Rails #crossjp
フレームワーク品評会 Ruby on Rails #crossjpShiro Fukuda
 
EC2の天井を超える
EC2の天井を超えるEC2の天井を超える
EC2の天井を超えるSugawara Genki
 
Riot + generator で始める新しいデータバインディング
Riot + generator で始める新しいデータバインディングRiot + generator で始める新しいデータバインディング
Riot + generator で始める新しいデータバインディングTsutomu Kawamura
 
20191003 classi night-04
20191003 classi night-0420191003 classi night-04
20191003 classi night-04Akihiko Kigure
 
Reactを使ったVR環境
Reactを使ったVR環境Reactを使ったVR環境
Reactを使ったVR環境KatsuyaENDOH
 
Mix and Match / Swift and Objective-C
Mix and Match / Swift and Objective-CMix and Match / Swift and Objective-C
Mix and Match / Swift and Objective-CGoichi Hirakawa
 
10分でわかるOpenAPI V3
10分でわかるOpenAPI V310分でわかるOpenAPI V3
10分でわかるOpenAPI V3Kazuchika Sekiya
 
Ember コミュニティとわたし
Ember コミュニティとわたしEmber コミュニティとわたし
Ember コミュニティとわたしRyunosuke SATO
 
How to Make Own Framework built on OWIN
How to Make Own Framework built on OWINHow to Make Own Framework built on OWIN
How to Make Own Framework built on OWINYoshifumi Kawai
 
超初心者でも大丈夫!AngularJSでフォームページをちょっとリッチに改造してみよう
超初心者でも大丈夫!AngularJSでフォームページをちょっとリッチに改造してみよう超初心者でも大丈夫!AngularJSでフォームページをちょっとリッチに改造してみよう
超初心者でも大丈夫!AngularJSでフォームページをちょっとリッチに改造してみようHoriguchi Seito
 
capybara で快適なテスト生活を
capybara で快適なテスト生活をcapybara で快適なテスト生活を
capybara で快適なテスト生活をRyunosuke SATO
 
Objective-Cプログラマのためのswift導入法
Objective-Cプログラマのためのswift導入法Objective-Cプログラマのためのswift導入法
Objective-Cプログラマのためのswift導入法Tomoki Hasegawa
 

Mais procurados (20)

Swift勉強会
Swift勉強会Swift勉強会
Swift勉強会
 
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
 
Isomorphic web development with scala and scala.js
Isomorphic web development  with scala and scala.jsIsomorphic web development  with scala and scala.js
Isomorphic web development with scala and scala.js
 
The History of LINQ
The History of LINQThe History of LINQ
The History of LINQ
 
Jsug spring bootコードリーディング 接触篇 a contact
Jsug spring bootコードリーディング 接触篇 a contactJsug spring bootコードリーディング 接触篇 a contact
Jsug spring bootコードリーディング 接触篇 a contact
 
Directiveで実現できたこと
Directiveで実現できたことDirectiveで実現できたこと
Directiveで実現できたこと
 
翻訳から始めるVue.js 入門
翻訳から始めるVue.js 入門翻訳から始めるVue.js 入門
翻訳から始めるVue.js 入門
 
Type scriptmemo
Type scriptmemoType scriptmemo
Type scriptmemo
 
フレームワーク品評会 Ruby on Rails #crossjp
フレームワーク品評会 Ruby on Rails #crossjpフレームワーク品評会 Ruby on Rails #crossjp
フレームワーク品評会 Ruby on Rails #crossjp
 
EC2の天井を超える
EC2の天井を超えるEC2の天井を超える
EC2の天井を超える
 
Riot + generator で始める新しいデータバインディング
Riot + generator で始める新しいデータバインディングRiot + generator で始める新しいデータバインディング
Riot + generator で始める新しいデータバインディング
 
20191003 classi night-04
20191003 classi night-0420191003 classi night-04
20191003 classi night-04
 
Reactを使ったVR環境
Reactを使ったVR環境Reactを使ったVR環境
Reactを使ったVR環境
 
Mix and Match / Swift and Objective-C
Mix and Match / Swift and Objective-CMix and Match / Swift and Objective-C
Mix and Match / Swift and Objective-C
 
10分でわかるOpenAPI V3
10分でわかるOpenAPI V310分でわかるOpenAPI V3
10分でわかるOpenAPI V3
 
Ember コミュニティとわたし
Ember コミュニティとわたしEmber コミュニティとわたし
Ember コミュニティとわたし
 
How to Make Own Framework built on OWIN
How to Make Own Framework built on OWINHow to Make Own Framework built on OWIN
How to Make Own Framework built on OWIN
 
超初心者でも大丈夫!AngularJSでフォームページをちょっとリッチに改造してみよう
超初心者でも大丈夫!AngularJSでフォームページをちょっとリッチに改造してみよう超初心者でも大丈夫!AngularJSでフォームページをちょっとリッチに改造してみよう
超初心者でも大丈夫!AngularJSでフォームページをちょっとリッチに改造してみよう
 
capybara で快適なテスト生活を
capybara で快適なテスト生活をcapybara で快適なテスト生活を
capybara で快適なテスト生活を
 
Objective-Cプログラマのためのswift導入法
Objective-Cプログラマのためのswift導入法Objective-Cプログラマのためのswift導入法
Objective-Cプログラマのためのswift導入法
 

Destaque

Symfony Deployment with Capifony #symfony_ja
Symfony Deployment with Capifony #symfony_jaSymfony Deployment with Capifony #symfony_ja
Symfony Deployment with Capifony #symfony_jaTak Nishikori
 
Symfony 2.5について
Symfony 2.5についてSymfony 2.5について
Symfony 2.5についてIssei Murasawa
 
A Deep Dive into JSON-LD and Hydra
A Deep Dive into JSON-LD and HydraA Deep Dive into JSON-LD and Hydra
A Deep Dive into JSON-LD and HydraMarkus Lanthaler
 
Symfony勉強会#9 form
Symfony勉強会#9 formSymfony勉強会#9 form
Symfony勉強会#9 formYuichi Okada
 
管理画面のアクセスコントロール
管理画面のアクセスコントロール 管理画面のアクセスコントロール
管理画面のアクセスコントロール Masao Maeda
 

Destaque (6)

Symfony Deployment with Capifony #symfony_ja
Symfony Deployment with Capifony #symfony_jaSymfony Deployment with Capifony #symfony_ja
Symfony Deployment with Capifony #symfony_ja
 
Symfony 2.5について
Symfony 2.5についてSymfony 2.5について
Symfony 2.5について
 
VagrantでSymfony開発
VagrantでSymfony開発VagrantでSymfony開発
VagrantでSymfony開発
 
A Deep Dive into JSON-LD and Hydra
A Deep Dive into JSON-LD and HydraA Deep Dive into JSON-LD and Hydra
A Deep Dive into JSON-LD and Hydra
 
Symfony勉強会#9 form
Symfony勉強会#9 formSymfony勉強会#9 form
Symfony勉強会#9 form
 
管理画面のアクセスコントロール
管理画面のアクセスコントロール 管理画面のアクセスコントロール
管理画面のアクセスコントロール
 

Semelhante a 第9回Symfony勉強会LT Symfony2 meets AngularJS #symfony_ja

What makes pyramid unique
What makes pyramid uniqueWhat makes pyramid unique
What makes pyramid uniqueAtsushi Odagiri
 
Google Cloud Messaging for Android ことはじめ(Eclipseから動かしてみる編)
Google Cloud Messaging for Android ことはじめ(Eclipseから動かしてみる編)Google Cloud Messaging for Android ことはじめ(Eclipseから動かしてみる編)
Google Cloud Messaging for Android ことはじめ(Eclipseから動かしてみる編)kojiokb
 
GitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけね
GitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけねGitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけね
GitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけねNaoto TAKAHASHI
 
SwaggerとAPIのデザイン
SwaggerとAPIのデザインSwaggerとAPIのデザイン
SwaggerとAPIのデザインKazuhiro Hara
 
Fun tech14-alibaba cloud api gateway-swagger
Fun tech14-alibaba cloud api gateway-swaggerFun tech14-alibaba cloud api gateway-swagger
Fun tech14-alibaba cloud api gateway-swaggerAnzaiKumiko
 
高速!Clojure Web 開発入門
高速!Clojure Web 開発入門高速!Clojure Web 開発入門
高速!Clojure Web 開発入門Kazuki Tsutsumi
 
A Framework for LightUp Applications of Grani
A Framework for LightUp Applications of GraniA Framework for LightUp Applications of Grani
A Framework for LightUp Applications of GraniYoshifumi Kawai
 
120315 cloud founry_java_ironfoundry
120315 cloud founry_java_ironfoundry120315 cloud founry_java_ironfoundry
120315 cloud founry_java_ironfoundryTakayoshi Tanaka
 
WebApp個人開発のすゝめ / Recommendation of personal web app development
WebApp個人開発のすゝめ / Recommendation of personal web app developmentWebApp個人開発のすゝめ / Recommendation of personal web app development
WebApp個人開発のすゝめ / Recommendation of personal web app development株式会社MonotaRO Tech Team
 
LT13(前半)Workshipにおけるレコメンドエンジン実装
LT13(前半)Workshipにおけるレコメンドエンジン実装LT13(前半)Workshipにおけるレコメンドエンジン実装
LT13(前半)Workshipにおけるレコメンドエンジン実装GIG inc.
 
SeleniumConf Chicago 参加報告
SeleniumConf Chicago 参加報告SeleniumConf Chicago 参加報告
SeleniumConf Chicago 参加報告aha_oretama
 
Mobingi ALM Hands-on 20170718
Mobingi ALM Hands-on 20170718Mobingi ALM Hands-on 20170718
Mobingi ALM Hands-on 20170718Masafumi Noguchi
 
JenkinsとSeleniumの活用事例
JenkinsとSeleniumの活用事例JenkinsとSeleniumの活用事例
JenkinsとSeleniumの活用事例Takeshi Kondo
 
マルチクラウド環境でモビンギはどのようにコンテナを動かしているか
マルチクラウド環境でモビンギはどのようにコンテナを動かしているかマルチクラウド環境でモビンギはどのようにコンテナを動かしているか
マルチクラウド環境でモビンギはどのようにコンテナを動かしているかMasafumi Noguchi
 
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考えるNetラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考えるdavid9142
 
20141018 selenium appium_cookpad
20141018 selenium appium_cookpad20141018 selenium appium_cookpad
20141018 selenium appium_cookpadKazuaki Matsuo
 
コンテナ運用基盤 with OpenShift
コンテナ運用基盤 with OpenShiftコンテナ運用基盤 with OpenShift
コンテナ運用基盤 with OpenShiftY K
 
Pylons ユーザのための Pyramid 移行ガイド
Pylons ユーザのための Pyramid 移行ガイドPylons ユーザのための Pyramid 移行ガイド
Pylons ユーザのための Pyramid 移行ガイドNozomu Kaneko
 

Semelhante a 第9回Symfony勉強会LT Symfony2 meets AngularJS #symfony_ja (20)

What makes pyramid unique
What makes pyramid uniqueWhat makes pyramid unique
What makes pyramid unique
 
Openshift 20191121
Openshift 20191121Openshift 20191121
Openshift 20191121
 
Google Cloud Messaging for Android ことはじめ(Eclipseから動かしてみる編)
Google Cloud Messaging for Android ことはじめ(Eclipseから動かしてみる編)Google Cloud Messaging for Android ことはじめ(Eclipseから動かしてみる編)
Google Cloud Messaging for Android ことはじめ(Eclipseから動かしてみる編)
 
GitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけね
GitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけねGitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけね
GitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけね
 
SwaggerとAPIのデザイン
SwaggerとAPIのデザインSwaggerとAPIのデザイン
SwaggerとAPIのデザイン
 
Fun tech14-alibaba cloud api gateway-swagger
Fun tech14-alibaba cloud api gateway-swaggerFun tech14-alibaba cloud api gateway-swagger
Fun tech14-alibaba cloud api gateway-swagger
 
高速!Clojure Web 開発入門
高速!Clojure Web 開発入門高速!Clojure Web 開発入門
高速!Clojure Web 開発入門
 
A Framework for LightUp Applications of Grani
A Framework for LightUp Applications of GraniA Framework for LightUp Applications of Grani
A Framework for LightUp Applications of Grani
 
120315 cloud founry_java_ironfoundry
120315 cloud founry_java_ironfoundry120315 cloud founry_java_ironfoundry
120315 cloud founry_java_ironfoundry
 
Flex's DI Container
Flex's DI ContainerFlex's DI Container
Flex's DI Container
 
WebApp個人開発のすゝめ / Recommendation of personal web app development
WebApp個人開発のすゝめ / Recommendation of personal web app developmentWebApp個人開発のすゝめ / Recommendation of personal web app development
WebApp個人開発のすゝめ / Recommendation of personal web app development
 
LT13(前半)Workshipにおけるレコメンドエンジン実装
LT13(前半)Workshipにおけるレコメンドエンジン実装LT13(前半)Workshipにおけるレコメンドエンジン実装
LT13(前半)Workshipにおけるレコメンドエンジン実装
 
SeleniumConf Chicago 参加報告
SeleniumConf Chicago 参加報告SeleniumConf Chicago 参加報告
SeleniumConf Chicago 参加報告
 
Mobingi ALM Hands-on 20170718
Mobingi ALM Hands-on 20170718Mobingi ALM Hands-on 20170718
Mobingi ALM Hands-on 20170718
 
JenkinsとSeleniumの活用事例
JenkinsとSeleniumの活用事例JenkinsとSeleniumの活用事例
JenkinsとSeleniumの活用事例
 
マルチクラウド環境でモビンギはどのようにコンテナを動かしているか
マルチクラウド環境でモビンギはどのようにコンテナを動かしているかマルチクラウド環境でモビンギはどのようにコンテナを動かしているか
マルチクラウド環境でモビンギはどのようにコンテナを動かしているか
 
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考えるNetラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
 
20141018 selenium appium_cookpad
20141018 selenium appium_cookpad20141018 selenium appium_cookpad
20141018 selenium appium_cookpad
 
コンテナ運用基盤 with OpenShift
コンテナ運用基盤 with OpenShiftコンテナ運用基盤 with OpenShift
コンテナ運用基盤 with OpenShift
 
Pylons ユーザのための Pyramid 移行ガイド
Pylons ユーザのための Pyramid 移行ガイドPylons ユーザのための Pyramid 移行ガイド
Pylons ユーザのための Pyramid 移行ガイド
 

Mais de 77web

最近のPHP事情とNagoya.phpへのお誘い #ngk2018b
最近のPHP事情とNagoya.phpへのお誘い #ngk2018b最近のPHP事情とNagoya.phpへのお誘い #ngk2018b
最近のPHP事情とNagoya.phpへのお誘い #ngk2018b77web
 
すばやく実装するための戦略とテクニック
すばやく実装するための戦略とテクニックすばやく実装するための戦略とテクニック
すばやく実装するための戦略とテクニック77web
 
テスト実行速度を改善してお金をかけずに開発スピードを爆速にする
テスト実行速度を改善してお金をかけずに開発スピードを爆速にするテスト実行速度を改善してお金をかけずに開発スピードを爆速にする
テスト実行速度を改善してお金をかけずに開発スピードを爆速にする77web
 
ズンドコキヨシon Workflower
ズンドコキヨシon Workflowerズンドコキヨシon Workflower
ズンドコキヨシon Workflower77web
 
Formとは何か?〜例えば、Symfony\Component\Formを避ける〜
Formとは何か?〜例えば、Symfony\Component\Formを避ける〜Formとは何か?〜例えば、Symfony\Component\Formを避ける〜
Formとは何か?〜例えば、Symfony\Component\Formを避ける〜77web
 
CoderDojo Nagoyaの取り組みについて at Scratch day 2015 Aichi 3分間トーク
CoderDojo Nagoyaの取り組みについて at Scratch day 2015 Aichi 3分間トークCoderDojo Nagoyaの取り組みについて at Scratch day 2015 Aichi 3分間トーク
CoderDojo Nagoyaの取り組みについて at Scratch day 2015 Aichi 3分間トーク77web
 
Scratch day 2015 Aichi プログラミングバトル by CoderDojo Nagoya
Scratch day 2015 Aichi プログラミングバトル by CoderDojo NagoyaScratch day 2015 Aichi プログラミングバトル by CoderDojo Nagoya
Scratch day 2015 Aichi プログラミングバトル by CoderDojo Nagoya77web
 
こういうデータ、どこに保存してますか? #nagoyaphp
こういうデータ、どこに保存してますか? #nagoyaphpこういうデータ、どこに保存してますか? #nagoyaphp
こういうデータ、どこに保存してますか? #nagoyaphp77web
 
まだ技術ブログを始めてないPHPerのあなたへ。PHPカンファレンス関西2013 LT
まだ技術ブログを始めてないPHPerのあなたへ。PHPカンファレンス関西2013 LTまだ技術ブログを始めてないPHPerのあなたへ。PHPカンファレンス関西2013 LT
まだ技術ブログを始めてないPHPerのあなたへ。PHPカンファレンス関西2013 LT77web
 

Mais de 77web (9)

最近のPHP事情とNagoya.phpへのお誘い #ngk2018b
最近のPHP事情とNagoya.phpへのお誘い #ngk2018b最近のPHP事情とNagoya.phpへのお誘い #ngk2018b
最近のPHP事情とNagoya.phpへのお誘い #ngk2018b
 
すばやく実装するための戦略とテクニック
すばやく実装するための戦略とテクニックすばやく実装するための戦略とテクニック
すばやく実装するための戦略とテクニック
 
テスト実行速度を改善してお金をかけずに開発スピードを爆速にする
テスト実行速度を改善してお金をかけずに開発スピードを爆速にするテスト実行速度を改善してお金をかけずに開発スピードを爆速にする
テスト実行速度を改善してお金をかけずに開発スピードを爆速にする
 
ズンドコキヨシon Workflower
ズンドコキヨシon Workflowerズンドコキヨシon Workflower
ズンドコキヨシon Workflower
 
Formとは何か?〜例えば、Symfony\Component\Formを避ける〜
Formとは何か?〜例えば、Symfony\Component\Formを避ける〜Formとは何か?〜例えば、Symfony\Component\Formを避ける〜
Formとは何か?〜例えば、Symfony\Component\Formを避ける〜
 
CoderDojo Nagoyaの取り組みについて at Scratch day 2015 Aichi 3分間トーク
CoderDojo Nagoyaの取り組みについて at Scratch day 2015 Aichi 3分間トークCoderDojo Nagoyaの取り組みについて at Scratch day 2015 Aichi 3分間トーク
CoderDojo Nagoyaの取り組みについて at Scratch day 2015 Aichi 3分間トーク
 
Scratch day 2015 Aichi プログラミングバトル by CoderDojo Nagoya
Scratch day 2015 Aichi プログラミングバトル by CoderDojo NagoyaScratch day 2015 Aichi プログラミングバトル by CoderDojo Nagoya
Scratch day 2015 Aichi プログラミングバトル by CoderDojo Nagoya
 
こういうデータ、どこに保存してますか? #nagoyaphp
こういうデータ、どこに保存してますか? #nagoyaphpこういうデータ、どこに保存してますか? #nagoyaphp
こういうデータ、どこに保存してますか? #nagoyaphp
 
まだ技術ブログを始めてないPHPerのあなたへ。PHPカンファレンス関西2013 LT
まだ技術ブログを始めてないPHPerのあなたへ。PHPカンファレンス関西2013 LTまだ技術ブログを始めてないPHPerのあなたへ。PHPカンファレンス関西2013 LT
まだ技術ブログを始めてないPHPerのあなたへ。PHPカンファレンス関西2013 LT
 

第9回Symfony勉強会LT Symfony2 meets AngularJS #symfony_ja