symfony2 introduction

48
Symfony2の紹介 Symfony2の紹介 日本Symfonyユーザー会 後藤 秀宣(@hidenorigoto

Upload: hidenori-goto

Post on 21-Jan-2018

2.671 views

Category:

Technology


0 download

TRANSCRIPT

Symfony2の紹介

file:///../D:/home/goto/test/sfjp/sfjp-cms/web/images/header_bg_top.png

Symfony2の紹介

日本Symfonyユーザー会 後藤 秀宣(@hidenorigoto)

Symfony2の紹介

自己紹介

後藤 秀宣(ごとう ひでのり)

@hidenorigoto

symfonyは1.2あたりからマジメに利用

日本Symfonyユーザー会 温泉ツアー

Symfony2の紹介

大切なお知らせ

Symfony2の紹介

Symfony 2

Symfony2の紹介

 

Symfony2の紹介

symfony 2

Symfony2の紹介

 

Symfony2の紹介

Symfony2

Symfony2の紹介

Symfony2の紹介

・・・

So, please, as of now, whenever you write a blog post, a piece of documentation, a tweet, or a presentation, never write "Symfony 2" again. Use Symfony2 instead. That way, someone can search for "Symfony2 routing" and he will have only Symfony2 results.

Symfony2の紹介

セッション概要

Symfony2の概要

Symfony2の機能ピックアップ紹介(7つ)

Symfony2の紹介

 

Symfony2の概要

Symfony2の紹介

Symfony2とは?

symfony 1系の良さを引き継ぎつつ、問題点を解決するために(ほぼ)1から書き直された

PHP 5.3以上

コア部分にDIコンテナを採用

symfony 1系で問題となっていた実行速度の改善を目標の1つとしている

2010年後半に正式リリース予定

Symfony2の紹介

Symfony2の機能の紹介

Symfony2の紹介

Symfony2の機能紹介

デバッグツールバー

プロファイラー

設定の柔軟性

Twig統合、Templating統合

HttpKernelによるリクエストのハンドリング

キャッシュ(ESI)

アノテーション

Symfony2の紹介

 

1.デバッグツールバー

Symfony2の紹介

1-1.デバッグツールバー

symfony 1系のデバッグツールバーを踏襲。

ツールバーとプロファイラーに分割。ツールバー自体はシンプルに。

画面の下へ。プロファイラーへのリンク

Symfony2の紹介

1-2.デバッグツールバーの改善点

アプリケーションの出力HTMLのサイズが抑制→以前は膨大なデバッグ情報が追加されていたた め、問題になる場合があった  ・デバッグ情報の出力のためにアプリケーシ   ョンのパフォーマンス低下(正しい計測が   できない)  ・携帯でデバッグできない  ・ネットワークの遅さに引きづられる  ・メモリ使用量大

Symfony2の紹介

 

2.プロファイラー

Symfony2の紹介

2-1.プロファイラー

デバッグツールバーと独立(開発しているサイトとの干渉の削減)

より高機能に。

Symfony2の紹介

2-2.プロファイラーの特徴

プロファイル情報は毎回UUIDが割り当てられ、SQLiteデータベースに保存される

UUIDを使った特定のURLへアクセスすれば、当該プロファイル情報を閲覧可能 →デバッグしている環境とは別のPCで閲覧 →プロファイル情報の共有が可能

Symfony2の紹介

 

3.設定の柔軟性

Symfony2の紹介

3-1.設定の柔軟性

1系では、YAML形式で記述するか、プログラムコード内で記述

Symfony2ではYAML、XML、PHP形式で設定ファイルを同等記述できる →XMLが中心。XMLのバリデーション機能など   を使っている。

アノテーションによる設定も可能。 →フォームのバリデーションの設定 →アクションごとにルーティングやキャッシュの   設定

Symfony2の紹介

 

4.TwigとTemplating

Symfony2の紹介

4-1.Twig統合、Templating統合

Templating統合で、テンプレート継承が可能に

PHPテンプレートの処理効率の向上 →1系では、include回数などの問題があった

設定ファイルでONにするだけでTwigも利用可能 →actionでレンダリングするビューを指定する   パラメーターの末尾に「:twig」を追加して切り   替え

PHPテンプレート(with Templating)とTwigテンプレートの処理性能は同等

Symfony2の紹介

 

4-2.テンプレートの継承とは

Symfony2の紹介

4-2-1.1系のテンプレート(継承な

あくまで中に埋め込んでいく

Symfony2の紹介

4-2-2.テンプレート継承

親子関係が自由に

Symfony2の紹介

4-2-3.テンプレート継承の参考

Diangoテンプレート言語「テンプレートの継承」http://djangoproject.jp/doc/ja/1.0/topics/templates.html#id7

Symfony2の紹介

 

4-3.Twigの構文のサンプル

Symfony2の紹介

4-3-1.Twigの構文

Symfony2の紹介

 

5.HttpKernelによるリクエストハンドリング

の汎用性改善

Symfony2の紹介

5-1.HttpKernelHTTPリクエストをHTTPレスポンスに変換するための一連の処理を司る。

1つのKernelはかなり小さい(symfony 1ではあらゆる事が詰め込まれている)

1つのリクエストから、複数のサブリクエストが生成される場合もある。サブリクエストごとに独立したHttpKernelで処理。

Symfony2の紹介

 

6.キャッシュ

Symfony2の紹介

6-1.キャッシュ

HttpKernelを拡張したキャッシュ機構

ESI(Edge Side Include)を実装 →キャッシュからキャッシュをインクルードする

適用可能範囲の拡大、パフォーマンスの改善に寄与

Symfony2の紹介

6-2.ESIキャッシュの動作例

Symfony2の紹介

6-2-1.Symfony2のキャッシュ

Symfony2の紹介

6-2-2.Symfony2のキャッシュ

キャッシュ期限切れのパーツだけ更新

各パーツのキャッシュ利用率が向上

Symfony2の紹介

7.アノテーション

Symfony2の紹介

7-1.アノテーションでモデル設定

Doctrine2

Symfony2の紹介

3-2.アノテーションでバリデー

エンティティのバリデーションの設定

Symfony2の紹介

3-3.アクションの設定

ルーティングやテンプレート、キャッシュの設定

Symfony2の紹介

どうですか?Symfony2

Symfony2の紹介

参考URL

Symfony2http://symfony-reloaded.org/

Symfony2ドキュメントhttp://docs.symfony-reloaded.org/

日本Symfonyユーザー会http://www.symfony.gr.jp/

Symfony2の紹介

Symfonyユーザー会の活動に協力していただけるメンバーを絶賛募集しています

Symfony2の紹介

 

(多分)2010年末に、

Symfony2向け公式チュートリアルが出ます(個人的予想)

Symfony2の紹介

 

翻訳者募集中!

Symfony2の紹介

 

ブースでライブコーディングしています!

2F 205教室