プロフェッショナルなウェブサ イトのためのフレームワーク (Japan PHP Conference 2009)

Post on 28-May-2015

2370 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

Transcript

プロフェッショナルなウェブサイトのためのフレームワーク

Fabien Potencier(ファビエン プートンシェ)

自己紹介 •  Sensio創業者

– ウェブ制作会社 (フランスとアメリカ) –  1998年創業 – 社員70名 – オープンソースのスペシャリスト – 大企業が顧客 – コンサルティング、トレーニング、開発、ウェブデザイン… –  SymfonyとDoctrineのメインスポンサー

•  symfonyのクリエイターでリード開発者

連絡先

Fabien Potencier fabien.potencier at sensio.com

twitter@fabpot

http://www.sensiolabs.com/

http://www.symfony-project.org/

http://fabien.potencier.org/

symfony を

使ったことのある人?

1.0? 1.1? 1.2?

symfony

•  PHPウェブフレームワーク (MVC)

•  背景 –  Sensioでの10年の経験

– 既存のオープンソースプロジェクト

•  MITライセンス

豊富なドキュメント •  オープンソースのドキュメント

–  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

!"#$%&'(

!"##$#%&'"(&")

*+,-)"%&.'."(&!"#.#$.#

"#### /

その他の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 !

日本語の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:;

!"#$$%&'("$'")

*+,-)"&'.(."$'!"#.$$.%

"#### /

とても活発なコミュニティ

メーリングリスト / フォーラム / IRCサポート

700個を超え、毎日1,2個のペースで増えるプラグイン

symfony-project.orgへの訪問者は月間60万人を超える

symfony 1.0 – 2007年1月 •  既存オープンソースをつなげる糊(glue)として登場:

– Mojavi(大きく変更), Propel, Prado i18n, …

•  他言語やフレームワークからコンセプトを:

–  Routing, CLI, 関数テスト, YAML, Railsヘルパー…

•  さらにコンセプトを追加しミックス

– Webデバッグツールバー, adminジェネレータ, 設定ファイルのカスケード, …

symfony 1.2 – 2008年11月

•  分離可能だがまとまりのあるコンポーネント: symfonyプラットフォーム

–  Forms, Routing, Cache, YAML, ORMs, …

•  コントローラはまだMojaviベース

–  View, Filterチェーン, …

ロードマップ

•  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(廃止予定の機能)

« エンタープライズ » バージョン

Version 1.0 LTS: 3年間メンテナンス Version 1.1, 1.2, 1.3: 1年間メンテナンス Version 1.4 LTS: 3年間メンテナンス

通常リリース – バグ・セキュリティー修正, PHP新バージョンへの互換性

– (小さなものでも)機能追加なし

– アップグレードは簡単で安全

商用サポート

•  トレーニング(フランス, アメリカ)

•  アプリケーション立ち上げ 支援

•  サポート

•  コンサルティング

Symfonyだけのカンファレンス

symfony-live.com

世界各地でのイベント

来年日本で Symfony Liveをするなら 参加したいですか?

たくさんのアプリケーション

sf-to.org/bookmarks

sf-to.org/delicious

sf-to.org/answers

sf-to.org/dailymotion

プロフェッショナルのための フレームワーク

セキュリティ

実行環境切り替え

ユニット/関数テスト

設定と拡張のしやすさ

Adminジェネレータ

開発者用ツール

キャッシュ機構

きれいなURL

国際化機構

進んだformサポート

ORM

プロフェッショナルのツール

Symfonyは、まとまりがあるがバラバラにも使えるクラス群だ

Symfonyプラットフォーム

Symfony Components

•  スタンドアロンでも使えるコンポーネント群 •  個々にパッケージされている •  各コンポーネントのためのウェブサイト(コードとドキュメント)

–  http://components.symfony-project.org/ •  SubversionとGitのレポジトリ

–  http://svn.symfony-project.com/components/ –  http://github.com/fabpot

リリースされたコンポーネント

•  既にリリース: –  YAML –  Dependency Injection –  Event Dispatcher

•  近日公開 –  Templating –  Request Handler –  Escaper

symfonyのMVCフレームワークはsymfonyコンポーネントベース

環境切り替え

開発者 顧客 エンドユーザ

開発環境 テスト環境 実運用環境

cache cache cache

debug debug debug

logs logs logs

stats stats stats

開発環境 テスト環境 実運用環境

開発者用ツール

開発者用ツール

エラーページ

開発者用ツール

Webデバッグツールバー

セキュリティ XSS, CSRF, SQLインジェクション

all: .settings: # Form security secret (CSRF protection) csrf_secret: DU5t%gr

# Output escaping escaping_strategy: on

テスト

多フォーマットのネイティブサポート

•  リクエストは(デフォルトではHTML)フォーマットを持つ css, js, xml, atom, json, …

•  コントローラとモデルは同じ

•  異なるテンプレート

•  新しいフォーマットに簡単に対応できる(iPhone) http://www.symfony-project.org/cookbook/1_1/en/iphone!

RESTアーキテクチャ

•  GET, POST, PUT, DELETE, HEADのサポート

•  PUTとDELETEはブラウザでシミュレート

•  RESTリソースもRoutingでサポート

•  Adminジェネレータもis REST « 対応 »

Symfonyミートアップ 東京 明日日曜夜

http://bit.ly/sf-tokyo

質問をどうぞ?

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/

top related