Zend Framework2について〜ZF1とZF2の違いについて〜

23,051 views

Published on

ZF1とZF2の違いについてざっくばらんに適当に書いています。
DIとかEventManagerとか難しいこと言ってますが、作ってる人もよくわかっていません\(^o^)/

0 Comments
11 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
23,051
On SlideShare
0
From Embeds
0
Number of Embeds
1,833
Actions
Shares
0
Downloads
38
Comments
0
Likes
11
Embeds 0
No embeds

No notes for slide

Zend Framework2について〜ZF1とZF2の違いについて〜

  1. 1. TDC-PHP勉強会 #24 2013年02月23日 会場:ソシラボ Zend Framework2 について ZF1とZF2の違いをご紹介 株式会社 瀧園 早坂 貴大13年2月23日土曜日
  2. 2. 謝辞 会場準備・取りまとめなどを行なっていただ いた皆さん、本日はありがとうございます。 また、今回発表の場を設けていただいた、安 達さん、ありがとうございます。TDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  3. 3. 本日の内容は後日 PDF形式で公開します。TDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  4. 4. 自己紹介 株式会社瀧園にてお仕事 よく訓練された社畜PHPer 主にWebサービスの何かをやっ てます @Nully http://blog.nully.org/ 現在移動予定TDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  5. 5. Zend Framework歴 1.6系から使用を開始 業務ではライブラリとしてもFWとしても利用したこと有り ZF発見まではCakePHPでウマウマしてましたごめんなさい PHPの構造体を勉強出来るようになったきっかけは彼のお かげ...///// ZFかわいいよZF でも今はFuelPHPを案件で使ってる...\(^o^)/TDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  6. 6. はじめに ZF2とZF1の違いを簡単に比較しつつ、 ZF2であたらに盛り込まれた機能を 紹介していきます。TDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  7. 7. セッションの流れ インストール方法の違い 初期画面の違い パフォーマンスの違い ZF1とZF2の変更点TDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  8. 8. インストール方法の違い ∼ZF1のインストール方法∼ http://bit.ly/POQMDD からファイルをDLして展開する。 展開したファイルの「zf.sh」 からプロジェクトを作成 $ zf create rpoject appTDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  9. 9. インストール方法の違い ∼ZF1のインストール方法∼ http://bit.ly/POQMDD からファイルをDLして展開する。 ZF1のファイル容量が大きく DL後に展開してとか手間が多い\(^o^)/ 展開したファイルの「zf.sh」 からプロジェクトを作成 $ zf create rpoject appTDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  10. 10. インストール方法の違い ∼ZF2のインストール方法∼ Composerでインストール!TDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  11. 11. インストール方法の違い ∼ZF2のインストール方法∼ Composer? Composerでインストール!TDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  12. 12. Composer? インストール方法の違い ∼ZF2のインストール方法∼ 新しく作られたPHPライブラリなどをインストー ルするための機構。 Composerでインストール! Linux系OSのnpmを参考に作られているいて、ラ イブラリ同士の依存関係を解消し、コマンドか ら一発ですべてが入る。TDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  13. 13. インストール方法の違い ∼ZF2のインストール方法∼ Composerでインストール! php composer.phar create-project --repository-url="http://packages.zendframework.com" zendframework/skeleton-application path/to/installTDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  14. 14. インストール方法の違い ∼ZF2のインストール方法∼ Composerでインストール! これだけでインストール完了! php composer.phar create-project ☆(ゝω・)vキャピ --repository-url="http://packages.zendframework.com" zendframework/skeleton-application path/to/installTDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  15. 15. インストール方法の違い ∼ZF2のインストール方法∼ php composer.phar create-project プロジェクト作成の命令 --repository-url="http://packages.zendframework.com" インストール元URLの指定 zendframework/skeleton-application path/to/install インストールパッケージの指定TDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  16. 16. インストール方法の違い ∼ZF2のインストール方法∼ zendframework/skeleton-application https://packages.zendframework.com/ からパッケージ名をコピペTDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  17. 17. インストール方法の違い ちなみに・・・ ∼ZF2のインストール方法∼ zendframework/skeleton-application symfonyもComposerから入る「らしい」 https://packagist.org/explore/ https://packages.zendframework.com/ からパッケージ名をコピペTDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  18. 18. インストール方法の違い さらにちなみに・・・ ∼ZF2のインストール方法∼ ダウンロード数 zendframework/skeleton-application symfony 318,023 https://packages.zendframework.com/ からパッケージ名をコピペ zendframework 100,714TDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  19. 19. インストール方法の違い ∼ZF2のインストール方法∼ 多すぎワロエナイ \(^o^)/ zendframework/skeleton-application https://packages.zendframework.com/ からパッケージ名をコピペTDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  20. 20. 初期画面の違いTDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  21. 21. 初期画面の違い ∼ZF1の初期画面∼TDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  22. 22. 初期画面の違い ∼ZF1の初期画面∼ ダサい ( ゚д゚)TDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  23. 23. 初期画面の違い ∼ZF2の初期画面∼TDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  24. 24. 初期画面の違い ∼ZF2の初期画面∼ かっこいい! (゚∀゚)TDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  25. 25. 初期画面の違い Twitter Bootstrapを利用しているので Webサービスを作るときのScaffoldを 作るのにめちゃくちゃ最適化されたTDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  26. 26. パフォーマンスの違いTDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  27. 27. パフォーマンスの違い 引用元 http://www.enrise.com/2012/02/ zend-framework-2-performance/TDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  28. 28. パフォーマンスの違い マシンスペックなどは割愛TDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  29. 29. パフォーマンスの違い 利用リソース 1.11.11 ZendSkeltonApplication (Clone by GitHub)TDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  30. 30. パフォーマンスの違い 計測方法 Apacheを再起動後、5秒間待つ ZF1の計測を開始・結果を書き出す Apacheを再起動後、5秒間待つ ZF2の計測を開始・結果を書き出す 出力結果を元にGNUPlotでグラフを書き出すTDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  31. 31. パフォーマンスの違い 計測内容 5の同時接続、2000リクエストをかける 20の同時接続、2000リクエストをかける 40の同時接続、2000リクエストをかける 80の同時接続、2000リクエストをかけるTDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  32. 32. パフォーマンスの違い 計測結果 5の同時接続、2000リクエスト 20の同時接続、2000リクエストTDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  33. 33. パフォーマンスの違い 計測結果 40の同時接続、2000リクエスト 80の同時接続、2000リクエストTDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  34. 34. パフォーマンスの違い 計測結果 これらの結果から言えることは 4秒程処理が遅くなっている 40の同時接続、2000リクエスト 80の同時接続、2000リクエストTDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  35. 35. パフォーマンスの違い が 計測結果 40の同時接続、2000リクエスト 80の同時接続、2000リクエストTDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  36. 36. パフォーマンスの違い 計測結果 ZF2はZF1に比べて機能を 多く実装しているのと、 ClassMapAutoloadのキャッシュや ApplicationCacheなどで早くなる 40の同時接続、2000リクエスト 80の同時接続、2000リクエストTDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  37. 37. ZF1とZF2の変更点TDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  38. 38. ZF1とZF2の変更点 全部違うTDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  39. 39. ZF1とZF2の変更点 もうちょっと詳しく・・・TDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  40. 40. ZF1とZF2の変更点 ∼変更点の詳細∼ Zend_ApplicationがZendMvcへ EventManagerによるイベント管理 新しく追加されたDependencyInjectionTDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  41. 41. ZF1とZF2の変更点 ∼Zend_ApplicationがZendMvcへ∼ Zend_ApplicationがZendMvcに変わったのは、 よりModel、View、Controllerとしての位置付けを 強くするため(だと思う)。TDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  42. 42. ZF1とZF2の変更点 ∼Zend_ApplicationがZendMvcへ∼ Zend_Controller_Front::dispatchが 処理を行なっていた ZendMvcApplication::runに集約され EventManagerが利用されるようになったTDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  43. 43. ZF1とZF2の変更点 ∼ EventManagerによるイベント管理∼ EventManagerとは?TDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  44. 44. ZF1とZF2の変更点 ∼ EventManagerによるイベント管理∼ ZF2で基本的に利用される イベント管理クラスTDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  45. 45. ZF1とZF2の変更点 ∼ EventManagerによるイベント管理∼ URLを元にControllerを決定したり 実際の処理を実行したり すべての処理を終了したり これら全てをイベントとして管理TDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  46. 46. ZF1とZF2の変更点 ∼ EventManagerによるイベント管理∼ EVENT_BOOTSTRAP EVENT_DISPATCH EVENT_DISPATCH_ERROR EVENT_FINISH EVENT_RENDER EVENT_RENDER_ERROR EVENT_ROUTETDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  47. 47. ZF1とZF2の変更点 ∼ EventManagerによるイベント管理∼ $events->trigger(MvcEvent::EVENT_ROUTE, $event, $shortCircuit);TDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  48. 48. ZF1とZF2の変更点 ∼ EventManagerによるイベント管理∼ $events->trigger(MvcEvent::EVENT_ROUTE, $event, $shortCircuit); 実行イベントの種類TDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  49. 49. ZF1とZF2の変更点 ∼ EventManagerによるイベント管理∼ $events->trigger(MvcEvent::EVENT_ROUTE, $event, $shortCircuit); イベントの対象に関する情報 (EventDescriptionインスタンス)TDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  50. 50. ZF1とZF2の変更点 ∼ EventManagerによるイベント管理∼ $events->trigger(MvcEvent::EVENT_ROUTE, $event, $shortCircuit); イベント終了の条件(関数)TDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  51. 51. ZF1とZF2の変更点 ∼DependencyInjection∼ DependencyInjection とは?TDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  52. 52. ZF1とZF2の変更点 ∼DependencyInjection∼ 日本語で訳で 依存性の注入TDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  53. 53. ZF1とZF2の変更点 ∼DependencyInjection∼ 日本語で訳で コンポーネント間の依存関係をプログラムのソースコードか 依存性の注入 ら排除し、外部の設定ファイルなどで注入できるようにする ソフトウェアパターン Wikiより:http://ja.wikipedia.org/wiki/%E4%BE%9D%E5%AD%98%E6%80%A7%E3%81%AE%E6%B3%A8%E5%85%A5TDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  54. 54. ZF1とZF2の変更点 ∼DependencyInjection∼ 日本語で訳で 依存性の注入TDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  55. 55. ZF1とZF2の変更点 ∼DependencyInjection∼TDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  56. 56. ZF1とZF2の変更点 ∼DependencyInjection∼ 毎回記述しなければならなかったり、 中継クラスを呼び出してインスタンス管理して... とかやるのがとても大変(というか面倒)TDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  57. 57. ZF1とZF2の変更点 ∼DependencyInjection∼TDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  58. 58. ZF1とZF2の変更点 ∼DependencyInjection∼TDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  59. 59. ZF1とZF2の変更点 ∼DependencyInjection∼ 依存性解釈の設定を施すことで、 コードの記述量が減る! 詳しく知りたい方はhttp://framework.zend.com/manual/2.1/en/tutorials/quickstart.di.htmlへ!TDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  60. 60. まとめTDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  61. 61. まとめ EventManagerと DependencyInjectionを マスターすればZF2はほぼ完璧!TDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日
  62. 62. ご清澄ありがとうございました 利用した画像 パフォーマンスについて http://bit.ly/XhRieB http://bit.ly/wMvkfs http://bit.ly/Z6W6DS http://bit.ly/XYaVHSTDC-PHP勉強会 #24 Zend Framework2について13年2月23日土曜日

×