プロフェッショナルなウェブサ イトのためのフレームワーク (japan php...
TRANSCRIPT
![Page 1: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/1.jpg)
プロフェッショナルなウェブサイトのためのフレームワーク
Fabien Potencier(ファビエン プートンシェ)
![Page 2: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/2.jpg)
自己紹介 • Sensio創業者
– ウェブ制作会社 (フランスとアメリカ) – 1998年創業 – 社員70名 – オープンソースのスペシャリスト – 大企業が顧客 – コンサルティング、トレーニング、開発、ウェブデザイン… – SymfonyとDoctrineのメインスポンサー
• symfonyのクリエイターでリード開発者
![Page 3: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/3.jpg)
連絡先
Fabien Potencier fabien.potencier at sensio.com
twitter@fabpot
http://www.sensiolabs.com/
http://www.symfony-project.org/
http://fabien.potencier.org/
![Page 4: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/4.jpg)
symfony を
使ったことのある人?
1.0? 1.1? 1.2?
![Page 5: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/5.jpg)
symfony
• PHPウェブフレームワーク (MVC)
• 背景 – Sensioでの10年の経験
– 既存のオープンソースプロジェクト
• MITライセンス
![Page 6: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/6.jpg)
豊富なドキュメント • オープンソースのドキュメント
– Practical symfony (400ページ) – symfony リファレンスガイド
(200ページ) – Form book – The book (450ページ)
• 活発な翻訳チーム。特に日本チーム
The symfony 1.2Reference Guide
Fabien Potencier!"##$!%&'"(&"
)
*+,-)"%&.'."(&!"#.#$.!
"#### /
The sym
fony 1.2 Reference G
uideFabien
Potencier
2ND EDITION2N
D EDIT
ION
PracticalsymfonyCreate professional web applicationswith PHP and symfony 1.2
Fabien Potencier
Practical symfony
symfony 1.2
Doctrine
F. Potencier
!"#$%&'(
!"##$#%&'"(&")
*+,-)"%&.'."(&!"#.#$.#
"#### /
![Page 7: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/7.jpg)
その他のsymfony本
Fabien Potencier
les Cahiersdu Programmeur
Avec la contribution de Hugo Hamon
Mieux développer en PHPavec Symfony et Doctrine
Le tutoriel
Jobeet enrichi
et mis à jour
par le créateur
de Symfony !
![Page 8: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/8.jpg)
日本語のsymfony本
…そしていよいよ thanks to 光宗 朋宏、加賀谷 昌樹、前田 雅央
!"!"#$%&"
'('#!"#$%&"$%&'()*+,-./)*+
0&123+,45678
Fabien Potencier
!"
!"#$%&"
symfony 1.2
Propel
F. Potencier
9:;
9:;
!"#$%$&'%"$'"(
)*+,("&'-%-"$'!"#-$%-$
"#### .
The symfony 1.2Reference Guide
Fabien Potencier
The sym
fony 1.2 Reference G
uideFabien
Potencier
symfony
Fabien Potencier
symfony
Fabien Poten
cier
!"#$!%&%'"$%"(
)*+,("&%-'-"$%!"#-$!-%
"#### .
!"#$%&
!"#$%&!"!"#$%&"
'('#!"#$%&"$%&'()*+,-./)*+
0&123+,45678
Fabien Potencier
!"
!"#$%&"
symfony 1.2
Doctrine
F. Potencier
!"#$%&'(
9:;
9:;
!"#$$%&'("$'")
*+,-)"&'.(."$'!"#.$$.%
"#### /
![Page 9: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/9.jpg)
とても活発なコミュニティ
メーリングリスト / フォーラム / IRCサポート
700個を超え、毎日1,2個のペースで増えるプラグイン
symfony-project.orgへの訪問者は月間60万人を超える
![Page 10: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/10.jpg)
symfony 1.0 – 2007年1月 • 既存オープンソースをつなげる糊(glue)として登場:
– Mojavi(大きく変更), Propel, Prado i18n, …
• 他言語やフレームワークからコンセプトを:
– Routing, CLI, 関数テスト, YAML, Railsヘルパー…
• さらにコンセプトを追加しミックス
– Webデバッグツールバー, adminジェネレータ, 設定ファイルのカスケード, …
![Page 11: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/11.jpg)
symfony 1.2 – 2008年11月
• 分離可能だがまとまりのあるコンポーネント: symfonyプラットフォーム
– Forms, Routing, Cache, YAML, ORMs, …
• コントローラはまだMojaviベース
– View, Filterチェーン, …
![Page 12: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/12.jpg)
ロードマップ
• 1.0 – 2007年1月 • 1.1 – 2008年6月 • 1.2 – 2008年11月 • 1.3 – 2009年11月 • 1.4 – 1.X系最終バージョン(2009末)
1.4 = 1.3 - deprecated features(廃止予定の機能)
![Page 13: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/13.jpg)
« エンタープライズ » バージョン
![Page 14: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/14.jpg)
Version 1.0 LTS: 3年間メンテナンス Version 1.1, 1.2, 1.3: 1年間メンテナンス Version 1.4 LTS: 3年間メンテナンス
通常リリース – バグ・セキュリティー修正, PHP新バージョンへの互換性
– (小さなものでも)機能追加なし
– アップグレードは簡単で安全
![Page 15: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/15.jpg)
商用サポート
• トレーニング(フランス, アメリカ)
• アプリケーション立ち上げ 支援
• サポート
• コンサルティング
![Page 16: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/16.jpg)
Symfonyだけのカンファレンス
symfony-live.com
![Page 17: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/17.jpg)
世界各地でのイベント
![Page 18: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/18.jpg)
来年日本で Symfony Liveをするなら 参加したいですか?
![Page 19: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/19.jpg)
たくさんのアプリケーション
![Page 20: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/20.jpg)
sf-to.org/bookmarks
![Page 21: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/21.jpg)
sf-to.org/delicious
![Page 22: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/22.jpg)
sf-to.org/answers
![Page 23: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/23.jpg)
sf-to.org/dailymotion
![Page 24: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/24.jpg)
プロフェッショナルのための フレームワーク
![Page 25: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/25.jpg)
セキュリティ
実行環境切り替え
ユニット/関数テスト
設定と拡張のしやすさ
Adminジェネレータ
開発者用ツール
キャッシュ機構
きれいなURL
国際化機構
進んだformサポート
ORM
プロフェッショナルのツール
![Page 26: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/26.jpg)
Symfonyは、まとまりがあるがバラバラにも使えるクラス群だ
![Page 27: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/27.jpg)
Symfonyプラットフォーム
![Page 28: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/28.jpg)
Symfony Components
• スタンドアロンでも使えるコンポーネント群 • 個々にパッケージされている • 各コンポーネントのためのウェブサイト(コードとドキュメント)
– http://components.symfony-project.org/ • SubversionとGitのレポジトリ
– http://svn.symfony-project.com/components/ – http://github.com/fabpot
![Page 29: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/29.jpg)
リリースされたコンポーネント
• 既にリリース: – YAML – Dependency Injection – Event Dispatcher
• 近日公開 – Templating – Request Handler – Escaper
![Page 30: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/30.jpg)
![Page 31: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/31.jpg)
![Page 32: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/32.jpg)
![Page 33: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/33.jpg)
symfonyのMVCフレームワークはsymfonyコンポーネントベース
![Page 34: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/34.jpg)
![Page 35: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/35.jpg)
![Page 36: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/36.jpg)
![Page 37: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/37.jpg)
環境切り替え
![Page 38: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/38.jpg)
開発者 顧客 エンドユーザ
開発環境 テスト環境 実運用環境
![Page 39: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/39.jpg)
cache cache cache
debug debug debug
logs logs logs
stats stats stats
開発環境 テスト環境 実運用環境
![Page 40: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/40.jpg)
開発者用ツール
![Page 41: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/41.jpg)
開発者用ツール
エラーページ
![Page 42: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/42.jpg)
![Page 43: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/43.jpg)
![Page 44: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/44.jpg)
![Page 45: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/45.jpg)
開発者用ツール
Webデバッグツールバー
![Page 46: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/46.jpg)
![Page 47: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/47.jpg)
セキュリティ XSS, CSRF, SQLインジェクション
![Page 48: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/48.jpg)
all: .settings: # Form security secret (CSRF protection) csrf_secret: DU5t%gr
# Output escaping escaping_strategy: on
![Page 49: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/49.jpg)
テスト
![Page 50: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/50.jpg)
![Page 51: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/51.jpg)
![Page 52: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/52.jpg)
![Page 53: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/53.jpg)
多フォーマットのネイティブサポート
• リクエストは(デフォルトではHTML)フォーマットを持つ css, js, xml, atom, json, …
• コントローラとモデルは同じ
• 異なるテンプレート
• 新しいフォーマットに簡単に対応できる(iPhone) http://www.symfony-project.org/cookbook/1_1/en/iphone!
![Page 54: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/54.jpg)
RESTアーキテクチャ
• GET, POST, PUT, DELETE, HEADのサポート
• PUTとDELETEはブラウザでシミュレート
• RESTリソースもRoutingでサポート
• Adminジェネレータもis REST « 対応 »
![Page 55: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/55.jpg)
Symfonyミートアップ 東京 明日日曜夜
http://bit.ly/sf-tokyo
![Page 56: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/56.jpg)
質問をどうぞ?
![Page 57: プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)](https://reader034.vdocuments.net/reader034/viewer/2022042700/55660252d8b42a2a4d8b4fa4/html5/thumbnails/57.jpg)
Sensio S.A. 92-98, boulevard Victor Hugo
92 115 Clichy Cedex FRANCE
Tél. : +33 1 40 99 80 80
連絡先 Fabien Potencier
fabien.potencier at sensio.com twitter@fabpot
http://www.sensiolabs.com/
http://www.symfony-project.org/
http://fabien.potencier.org/