PHPにおけるRIA事情と開発
   におけるRIA事情
PHPにおける   事情と
環境


19-D-2              佐藤栄一
                    ゼンド・ジャパン株式会社
                ...
RIAとは
RIAとは
     RIA(リッチインターネットアプリケーション)
     RIA(リッチインターネットアプリケーション)
      Rich Internet Application
      私の感覚→
      私の...
RIAの現状
 RIAの

     Javaなら
     Javaなら
      そもそもダウンロード可能なアプリケーション
      Swing→
      Swing→JavaFX
      Apache Pivot
     ...
PHPでのRIA
    でのRIA
 PHPでの
 クライアント側
 クライアント側のテクノロジ
     Java Script
     Flash/Flash Lite
     Silverlight
     Curl




#4...
RIAと開発環境
 RIAと
   Eclipse
Aptana Studio
 ZendStudio       Java Script
                 jQuery, Prototype, YUI,
           ...
Flash バージョン別普及率
       バージョン別普及率




#6     Developers Summit 2010   出典:株式会社Jストリーム
携帯電話のFlash Lite対応時期
 携帯電話の      Lite対応時期




                                 出典」:有限会社水玉製作所
                              ...
リクエストベースの
 Flash Lite のシェア




                   出典「ケータイ白書2010」(インプレスR&D刊)
                   出典「ケータイ白書
                 ...
サイト閲覧時
         閲覧時の
Flash サイト閲覧時の経験
 単一回答)
(単一回答)




      Developers Summit 2010   出典:
                               出...
PHPが使用できる
PHPが使用できる
ハードウエアとOS
ハードウエアとOS
    Windows
     Linux                      Intel / AMD
   Solaris x86
Power      ...
プログラミング言語の人気
  プログラミング言語の
         言語
  TIOBE Programming Community Index for February 2010




# 11                 Devel...
人気推移:PHP
  人気推移:




# 12    Developers Summit 2010   出典:
                                 出典:TIOBE Software BV
人気推移:ActioScript
  人気推移:




# 13      Developers Summit 2010   出典:
                                   出典:TIOBE Software BV
プログラミング言語の
  プログラミング言語の
         言語
  関連書籍販売部数推移




# 14   Developers Summit 2010   出典:O'Reilly Media
プログラミング言語の
  プログラミング言語の
         言語
  関連書籍販売部数推移




# 15   Developers Summit 2010   出典:O'Reilly Media
Zend Framework

       Zend Frameworkには、様々通信に対応す
            Frameworkには、様々通信に対応す
       るモジュールを用意しています。
        Zend_XmlR...
PHPのRIA開発環境
  PHPのRIA開発環境

       Flex Builder+Zend Studio for Eclipse
         Eclipseバージョンのアンマッチに注意してくださ
         Eclips...
Zend Studio シリーズの歴史
              シリーズの歴史


   2005年10月
   Eclipse Foundation に参加
   PDT (PHP Development Tools )         ...
Zend Studioシリーズ日本語版
       Studioシリーズ日本語版
             シリーズ
       PHPアプリケーションの開発効率を飛躍的に向
       PHPアプリケーションの開発効率を飛躍的に向
  ...
Zend Studioシリーズ日本語版
       Studioシリーズ日本語版
             シリーズ

       PHP専用エディタ
       PHP専用エディタ
        補完機能
       ローカルデバッ...
Zend Studio for Eclipse
       Javaスクリプトのコーディングのサポート
       Javaスクリプトのコーディングのサポート
       Zend Framework 対応の強化
        Zend...
Zend Studio for Eclipse
  vs Eclipse+PDT
       Zend Studio for Eclipse vs Eclipse+PDT
         PDT (PHP Development Tools...
Zend Studio for Eclipse
  vs Eclipse+PDT①
     Eclipse+PDT①
  Feature                                               PDT   ...
Zend Studio for Eclipse
  vs Eclipse+PDT②
     Eclipse+PDT②
  Feature                                                PDT  ...
Zend Studio for Eclipse
  vs Eclipse+PDT③
     Eclipse+PDT③
  Feature                                                  PDT...
Zend Studio for Eclipse
  vs Eclipse+PDT④
     Eclipse+PDT④
  Feature                                                 PDT ...
Zend Studio for Eclipse
  vs Eclipse+PDT⑤
     Eclipse+PDT⑤
 Feature                                                      ...
Zend Studio for Eclipse
  vs Eclipse+PDT⑥
     Eclipse+PDT⑥
 Feature                                               PDT   Z...
Zend Studio for Eclipse
  vs Eclipse+PDT⑦
     Eclipse+PDT⑦
  Feature                                                 PDT ...
デモ

       Zend Studio for Eclipse デモ
         画面説明
         デバッグ
         プロファイル
         ユニットテスト
         カバレッジ



# 30 ...
Zendプロダクトの役割
  Zendプロダクトの役割
      プロダクトの
                                             Zend Core
                          ...
RIAサイトのCMS
     サイトのCMS
  RIAサイトの
                                          商品のお問い合わせ
  WEB SPIRAL                        ...
RIAサイトのCMS
     サイトのCMS
  RIAサイトの
  WEB SPIRAL




# 33    Developers Summit 2010
RIAサイトのCMS
     サイトのCMS
  RIAサイトの
  WEB SPIRAL
       通常のCMS
       通常の                               WEB SPIRAL
         ...
RIAサイトのCMS
     サイトのCMS
  RIAサイトの
  WEB SPIRAL
       イッツ・コミュニケーションズ株式会社
       http://www.itscom.net/
       導入の経緯
      ...
RIAサイトのCMS
     サイトのCMS
  RIAサイトの
  WEB SPIRAL
       綜合警備保障株式会社
       http://www.alsok.co.jp/
       導入前の問題点
         限定...
RIAの監視サービス
  RIAの                                  商品のお問い合わせ
  IOSの概要
  IOSの                                 PCIアイオス株式会社
 ...
IOSダッシュボード画面イメージ
IOSダッシュボード画面イメージ
   ダッシュボード画面
                    シナリオごとの直近の測定結果を
                    一覧で確認できます。
        ...
IOS履歴画面イメージ
IOS履歴画面イメージ
   履歴画面




  ログイン画面
                               任意の日時や期間での
                               測定結果...
参考資料


# 40          Developers Summit 2010
Flash Lite
   バージョン別
   バージョン別アクセスシェア




出典「ケータイ白書2010」(インプレスR&D)
出典「ケータイ白書  白書       」
©ValueEngine,200902010 Developers...
携帯電話加入者数キャリア別累計
  携帯電話加入者数キャリア別累計
          キャリア




         出典「ケータイ白書
         出典「ケータイ白書2010」(インプレスR&D)
                ...
キャリア別アクセスシェア
  キャリア別




                      出典「ケータイ白書2010」(インプレスR&D)
                      出典「ケータイ白書  白書       」
      ...
Webブラウザ普及率
  Webブラウザ普及率
     ブラウザ




# 44    Developers Summit 2010   出典:株式会社Jストリーム
PHPとFlashの連携
       PHPとFlashの連携
       Zend Framework(Zend_AMF_Server)とFlexのコード例
            Framework(Zend_AMF_Server) F...
Zend_Amf_Server

       AMFプロトコルによるFlashからのリクエスト
       AMFプロトコルによるFlashからのリクエスト
       に応答するためのコンポーネントです。
       Flashから送...
Zend_Amf_Server
                                                サーバ
                                             Webサーバ

 ...
デモアプリの構成
  デモアプリの構成

         Test.mxml                         IndexController.php
         send 関数(文字列)
              関数...
Flash側ソース:
  Flash側ソース:送信部分
       Responder定義 正常時と異常時の関数
       Responder定義
        var responder:Responder = new Respond...
Flash側ソース:
  Flash側ソース:
       通常処理 簡単に連想配列で受け取れる
        private function onNormal2(ret:*):void{
          TA1.text = ret...
クラスマッピング用ファイル
  クラスマッピング用

       SendData.sa                                  CatchData.php
       package {             ...
PHPソースコード
  PHPソースコード
        public function amfAction()
                        amfAction()
       {
           //描画処理を無...
PHPソース 処理部分
  PHPソース
       class job1
       {
          public function getData($param)
                          getDat...
ゼンド・ジャパン株式会社
Zend Japan, Ltd.
執行役員 佐藤栄一 satou@zend.co.jp
〒150-0041
  150-
東京都渋谷区神南1丁目15番
東京都渋谷区神南1丁目15番8号 兼仲ビル2階       兼仲ビ...
Upcoming SlideShare
Loading in …5
×

PHPにおけるRIA事情と開発

2,994 views

Published on

サンプルコード公開ページ
http://www.zend.co.jp/news/info20100218.html

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,994
On SlideShare
0
From Embeds
0
Number of Embeds
24
Actions
Shares
0
Downloads
90
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

PHPにおけるRIA事情と開発

  1. 1. PHPにおけるRIA事情と開発 におけるRIA事情 PHPにおける 事情と 環境 19-D-2 佐藤栄一 ゼンド・ジャパン株式会社 執行役員 Developers Summit 2010
  2. 2. RIAとは RIAとは RIA(リッチインターネットアプリケーション) RIA(リッチインターネットアプリケーション) Rich Internet Application 私の感覚→ 私の感覚→ Rich Interface Application Webアプリケーションでどれだけネイティブアプ Webアプリケーションでどれだけネイティブアプ リケーションに近づけるか。 入力処理の支援 マウス操作 出力処理 →入力処理の軽減と応答スピードの向上 →エンターテイメント的な要素 #2 Developers Summit 2010
  3. 3. RIAの現状 RIAの Javaなら Javaなら そもそもダウンロード可能なアプリケーション Swing→ Swing→JavaFX Apache Pivot .netなら .netなら VBは様々形でRIAを実現 VBは様々形でRIAを実現 .NET RIA Services .NET Framework+Silverlight #3 Developers Summit 2010
  4. 4. PHPでのRIA でのRIA PHPでの クライアント側 クライアント側のテクノロジ Java Script Flash/Flash Lite Silverlight Curl #4 Developers Summit 2010
  5. 5. RIAと開発環境 RIAと Eclipse Aptana Studio ZendStudio Java Script jQuery, Prototype, YUI, Webサーバ Webサーバ FierFox dojo, Ext JS, MooTools Firebug FLASH CS4 Flash Flex 2 SDK Action Script Flex Builder 3 #5 Developers Summit 2010
  6. 6. Flash バージョン別普及率 バージョン別普及率 #6 Developers Summit 2010 出典:株式会社Jストリーム
  7. 7. 携帯電話のFlash Lite対応時期 携帯電話の Lite対応時期 出典」:有限会社水玉製作所 http://www.mztm.jp/ #7 Developers Summit 2010 本資料は、公開情報に基づきまとめられました。
  8. 8. リクエストベースの Flash Lite のシェア 出典「ケータイ白書2010」(インプレスR&D刊) 出典「ケータイ白書 白書 」 #8 Developers Summit 2010
  9. 9. サイト閲覧時 閲覧時の Flash サイト閲覧時の経験 単一回答) (単一回答) Developers Summit 2010 出典: 出典:IMJモバイル
  10. 10. PHPが使用できる PHPが使用できる ハードウエアとOS ハードウエアとOS Windows Linux Intel / AMD Solaris x86 Power Sun SPARC IBM i Developers Summit 2010 Sun Solaris
  11. 11. プログラミング言語の人気 プログラミング言語の 言語 TIOBE Programming Community Index for February 2010 # 11 Developers Summit 2010 出典: 出典:TIOBE Software BV
  12. 12. 人気推移:PHP 人気推移: # 12 Developers Summit 2010 出典: 出典:TIOBE Software BV
  13. 13. 人気推移:ActioScript 人気推移: # 13 Developers Summit 2010 出典: 出典:TIOBE Software BV
  14. 14. プログラミング言語の プログラミング言語の 言語 関連書籍販売部数推移 # 14 Developers Summit 2010 出典:O'Reilly Media
  15. 15. プログラミング言語の プログラミング言語の 言語 関連書籍販売部数推移 # 15 Developers Summit 2010 出典:O'Reilly Media
  16. 16. Zend Framework Zend Frameworkには、様々通信に対応す Frameworkには、様々通信に対応す るモジュールを用意しています。 Zend_XmlRpc Zend_Rest Zend_Json Zend_Dojo ZF1.5から ZF1.5から Zemd_AMF_Server ZF1.7から ZF1.7から Flashからのリクエストに応じた処理を行います Flashからのリクエストに応じた処理を行います # 16 Developers Summit 2010
  17. 17. PHPのRIA開発環境 PHPのRIA開発環境 Flex Builder+Zend Studio for Eclipse Eclipseバージョンのアンマッチに注意してくださ Eclipseバージョンのアンマッチに注意してくださ い。 Zend Studio for Eclipse 6.0 Eclipse 3.3 Zend Studio for Eclipse 6.1 Eclipse 3.4 Zend Studio for Eclipse 7.1 Eclipse 3.5 Flex Builder 3 Eclipse 3.2.2/3.3/3.4(プラグイン構成は3.3を推奨) 3.2.2/3.3/3.4(プラグイン構成は3.3を推奨) # 17 Developers Summit 2010
  18. 18. Zend Studio シリーズの歴史 シリーズの歴史 2005年10月 Eclipse Foundation に参加 PDT (PHP Development Tools ) 2008年3 2006年 月 6.0 2005年 1月 5.0 4月 4.0 2004年 1月 3.0 2002 ベース環境を Eclipseに変更 年3月 2.0 # 18 Developers Summit 2010 20-Feb-10 |
  19. 19. Zend Studioシリーズ日本語版 Studioシリーズ日本語版 シリーズ PHPアプリケーションの開発効率を飛躍的に向 PHPアプリケーションの開発効率を飛躍的に向 上する数々の機能が盛り込まれています。 # 19 Developers Summit 2010
  20. 20. Zend Studioシリーズ日本語版 Studioシリーズ日本語版 シリーズ PHP専用エディタ PHP専用エディタ 補完機能 ローカルデバッグ リモートデバッグ プロファイル SQL Support(データベースとの接続) Support(データベースとの接続) phpDocumentor(ドキュメント作成機能) phpDocumentor(ドキュメント作成機能) ソース管理/リモートファイル(CVS/SVN/ftp) ソース管理/リモートファイル(CVS/SVN/ftp) # 20 Developers Summit 2010
  21. 21. Zend Studio for Eclipse Javaスクリプトのコーディングのサポート Javaスクリプトのコーディングのサポート Zend Framework 対応の強化 Zend Framework 1.0/1.5/1.6/1.7を選択可能 1.0/1.5/1.6/1.7を選択可能 Controller Test Case 作成機能 補完対象の拡大 ヘルプの増量 ユニットテスト/ ユニットテスト/カバレッジ Ajax/Dojo対応 Ajax/Dojo対応 # 21 独自のSQL Developers ビルダ 独自のSQL QuerySummit 2010 を搭載
  22. 22. Zend Studio for Eclipse vs Eclipse+PDT Zend Studio for Eclipse vs Eclipse+PDT PDT (PHP Development Tools)は、2005年か Tools)は、2005年か らZendがEclipse Foundation に参加して製作 Zendが したプラグインモジュールです。 主にPHPエディタにフォーカスして機能実装 主にPHPエディタにフォーカスして機能実装 している。そのため、高度な開発には、機能 不足となります。 # 22 Developers Summit 2010
  23. 23. Zend Studio for Eclipse vs Eclipse+PDT① Eclipse+PDT① Feature PDT Zend Studio 7.1 PHP Refactoring In line Refactoring ○ Extract Variable / Method ○ Move Files and Folders ○ Rename Files Classes, Function and Variables ○ Zend Framework Integration Customized Framework Project Layout ○ Zend Tool Integration ○ Code Templates ○ Example Project ○ MVC View ○ MVC Code Generation ○ Coding Standards Formatter ○ Semantic Awareness to View / Action Helpers ○ Code Assist ○ # 23 Developers Summit 2010
  24. 24. Zend Studio for Eclipse vs Eclipse+PDT② Eclipse+PDT② Feature PDT Zend Studio 7.1 PHP Code Generation ○ Getters/Setters Functions ○ Override/Implement Functions ○ PHP Elements Wizards (Class, Interface) ○ JavaScript Support Real Time Error Detection ○ jsDoc ○ Syntax Coloring & Code Assist ○ ○ DOJO Support ○ ○ TODO ○ ○ HTML and CSS Support Syntax Coloring & Code Assist ○ ○ HTML Real Time Error Detection ○ ○ Code Folding ○ ○ Automatic Closing Tag ○ ○ Code Formatting ○ ○ # 24 Developers Summit 2010
  25. 25. Zend Studio for Eclipse vs Eclipse+PDT③ Eclipse+PDT③ Feature PDT Zend Studio 7.1 Source Control Subversion (SVN) ○ CVS ○ ○ Local History ○ ○ PHP Debugging Firefox / IE Toolbars Support ○ Profiler ○ Code Coverage ○ Tunneling Support ○ SSL Communication ○ Local Debugging ○ ○ Web Server Debugging ○ ○ Text Encoding Support ○ ○ Web Servers Management ○ ○ # 25 Developers Summit 2010
  26. 26. Zend Studio for Eclipse vs Eclipse+PDT④ Eclipse+PDT④ Feature PDT Zend Studio 7.1 Zend Server Integration Auto Detection of Local Zend Server ○ Servers View ○ Zend Server Events List ○ Import and Debug Zend Server Event ○ Easy Project Creation on Zend Server ○ Quick Debug ○ Debug & Profile Events ○ Zend Platform Integration Basic Integration (Open Platform GUI) ○ Events List View ○ Debug / Profile Events ○ Automatic Allow Debugging/Tunneling on Server (using ○ WSDL) Platform API ○ ○ # 26 Developers Summit 2010
  27. 27. Zend Studio for Eclipse vs Eclipse+PDT⑤ Eclipse+PDT⑤ Feature PDT Zend Studio 7.1 PHP Editor and File Management Code Analysis & Quick Fix ○ Quick New File Creation ○ Advanced Code Formatting (Rule Based) ○ PHP4 and PHP5 Support ○ ○ Syntax Coloring & Code Assist ○ ○ Mark Occurrences ○ ○ Override Indicators ○ ○ Type Hierarchy ○ ○ Open Type / Method ○ ○ Templates (PHP, PHPDoc, New File) ○ ○ Code Folding ○ ○ Real time Error Detection ○ ○ Bookmarks ○ ○ Smart Goto Source + Hover Support ○ ○ Automatic Insertion ○ ○ Matching Bracket ○ ○ Comment / Uncomment PHP code ○ ○ PHP Explorer View ○ ○ Open Resource (File / function) ○ ○ Search PHP Element ○ ○ File / Project / PHP Outlines ○ ○ Basic Code Formatting (not customizable) ○ ○ Find & Replace in Files ○ ○ Tasks ○ ○ Project Include Path ○ ○ Problems View ○ ○ Code Assist for Include Content ○ ○ # 27 Developers Summit 2010
  28. 28. Zend Studio for Eclipse vs Eclipse+PDT⑥ Eclipse+PDT⑥ Feature PDT Zend Studio 7.1 PHPUnit Testing Code Assist ○ Test Case / Suite Code Generation ○ Test Results Visual Support ○ PHP Unit Reports ○ Stack Trace and Filtering ○ Installation / Documentation / Support Technical Support (SLA) ○ Welcome Page & Tip of the Day ○ Package / Installation ○ File Association ○ Certified Eclipse Plugins ○ Update Mechanism ○ ○ # 28 Developers Summit 2010
  29. 29. Zend Studio for Eclipse vs Eclipse+PDT⑦ Eclipse+PDT⑦ Feature PDT Zend Studio 7.1 Remote Systems FTP ○ SSH ○ SFTP ○ Database Connectivity Intuitive Connection Wizard ○ JDBC Drivers ○ Query Editor ○ ○ Editable Table Viewer ○ ○ Objects Tree - Tables, Views ○ ○ Miscellaneous RSS Reader ○ PHPDocumentor Support ○ Zend Code Gallery ○ Zend Guard Ingegration ○ # 29 Developers Summit 2010
  30. 30. デモ Zend Studio for Eclipse デモ 画面説明 デバッグ プロファイル ユニットテスト カバレッジ # 30 Developers Summit 2010
  31. 31. Zendプロダクトの役割 Zendプロダクトの役割 プロダクトの Zend Core Webサーバ PHPサーバ環境構築 PHPサーバ環境構築 Zend Studio 統合開発環境 PHP Fortify SCA ソース ソースコード監査 コード Zend Guard Zend Platform プリコンパイル 高速化/ 高速化/信頼性確保 暗号化/難読化 インターネット 運用監視 Webブラウザ 携帯電話 Developers Summit 2010
  32. 32. RIAサイトのCMS サイトのCMS RIAサイトの 商品のお問い合わせ WEB SPIRAL 株式会社ネットドリーマーズ http://www.webspiral.jp/ 配信管理機能 日時指定での自動公開や、即時配信にも対応。 履歴管理機能 WEBマスターに負担をかけずに、自動的にファイ WEBマスターに負担をかけずに、自動的にファイ ル履歴を保管。さらに、過去の履歴ファイル情報 を元に、ある時刻のWEBサイトを再現することも を元に、ある時刻のWEBサイトを再現することも 可能です。 ワークフロー管理機能 より詳細な承認ワークフロー機能を実現。 # 32 Developers Summit 2010
  33. 33. RIAサイトのCMS サイトのCMS RIAサイトの WEB SPIRAL # 33 Developers Summit 2010
  34. 34. RIAサイトのCMS サイトのCMS RIAサイトの WEB SPIRAL 通常のCMS 通常の WEB SPIRAL レイアウト テンプレートの仕様に沿って定 テンプレートもレイアウトもどち 型化される らも可能。動画やFlashも使用 Flash 可能 リニューアル CMSにあわせたリニューアル 制約無くデザインも構築も可能 スタッフ CMSに精通した業者に製作さ 特殊技術は一切必要なし通常 れるべき の制作、 デザインの制約を受ける デザイン会社で対応可能 # 34 Developers Summit 2010
  35. 35. RIAサイトのCMS サイトのCMS RIAサイトの WEB SPIRAL イッツ・コミュニケーションズ株式会社 http://www.itscom.net/ 導入の経緯 担当ディレクトリ制をとっていても更新が煩雑 導入効果 承認ワークフローで膨大な更新ルーチン作業が なくなる # 35 Developers Summit 2010
  36. 36. RIAサイトのCMS サイトのCMS RIAサイトの WEB SPIRAL 綜合警備保障株式会社 http://www.alsok.co.jp/ 導入前の問題点 限定されたPC端末を複数人で扱うため更新ミ 限定されたPC端末を複数人で扱うため更新ミ スやファイルの消失が発生 導入の決め手になったポイント 製品連携や拡張性にも優れており当社の業務 を広くサポート # 36 Developers Summit 2010
  37. 37. RIAの監視サービス RIAの 商品のお問い合わせ IOSの概要 IOSの PCIアイオス株式会社 http://www.pci-aios.jp/ Webサイトの応答時間を監視 Webサイトの応答時間を監視 リアルなユーザ操作で測定 Firefoxを利用し、ユーザと同じ実際のブラウ Firefoxを利用し、ユーザと同じ実際のブラウ ザで表示にかかった時間を測定可能です。 サイトの障害をユーザへの応答時間から検知 ページ単位の設定やシナリオ全体など、細か な閾値の設定が可能です。 グラフと表で状況を把握できるレポート機能 # 37 Developers Summit 2010
  38. 38. IOSダッシュボード画面イメージ IOSダッシュボード画面イメージ ダッシュボード画面 シナリオごとの直近の測定結果を 一覧で確認できます。 グラフでは成功と失敗の比率、および 各シナリオごとの表示時間を確認できます。 問題の発生個所を詳細に表示します。 Developers Summit 2010 # 38
  39. 39. IOS履歴画面イメージ IOS履歴画面イメージ 履歴画面 ログイン画面 任意の日時や期間での 測定結果を表示できます。 期間内でのレスポンス時間の 変化を把握するのに役立ちます。 Developers Summit 2010 # 39
  40. 40. 参考資料 # 40 Developers Summit 2010
  41. 41. Flash Lite バージョン別 バージョン別アクセスシェア 出典「ケータイ白書2010」(インプレスR&D) 出典「ケータイ白書 白書 」 ©ValueEngine,200902010 Developers Summit 2010 # 41
  42. 42. 携帯電話加入者数キャリア別累計 携帯電話加入者数キャリア別累計 キャリア 出典「ケータイ白書 出典「ケータイ白書2010」(インプレスR&D) 白書 」 出所 財団法人電気通信事業者協会発表資料に基づく # 42 Developers Summit 2010
  43. 43. キャリア別アクセスシェア キャリア別 出典「ケータイ白書2010」(インプレスR&D) 出典「ケータイ白書 白書 」 ©ValueEngine,200902010 # 43 Developers Summit 2010
  44. 44. Webブラウザ普及率 Webブラウザ普及率 ブラウザ # 44 Developers Summit 2010 出典:株式会社Jストリーム
  45. 45. PHPとFlashの連携 PHPとFlashの連携 Zend Framework(Zend_AMF_Server)とFlexのコード例 Framework(Zend_AMF_Server) Flexのコード例 デモ内容補足 デモ内容補足 # 45 Developers Summit 2010
  46. 46. Zend_Amf_Server AMFプロトコルによるFlashからのリクエスト AMFプロトコルによるFlashからのリクエスト に応答するためのコンポーネントです。 Flashから送信されたオブジェクトをマッピン Flashから送信されたオブジェクトをマッピン グする機能を備えています。 Zend_Amf_ServerだけをZend Framework Zend_Amf_ServerだけをZend から切り出して使用することが可能です。 # 46 Developers Summit 2010
  47. 47. Zend_Amf_Server サーバ Webサーバ クラス/ クラス/関数でマッピング PHP Zend Framework クラス Flash 関数 関数n 関数 Action Script クラスn クラス AMF 関数1 関数 関数n 関数 # 47 Developers Summit 2010
  48. 48. デモアプリの構成 デモアプリの構成 Test.mxml IndexController.php send 関数(文字列) 関数(文字列) コントローラ send2関数(連想配列) send2関数(連想配列) job1.php 実際の処理を記述 SendData.sa CatchData.php マッピング用クラスファ マッピング用クラスファ イル イル index.phtml テンプレートファイル 参考資料:CodeZine 「PHPアプリからFlashコンテンツにアクセスしよう – Zend_Amf- 風田伸之氏[著]/山田祥寛氏[監修」 # 48 Developers Summit 2010
  49. 49. Flash側ソース: Flash側ソース:送信部分 Responder定義 正常時と異常時の関数 Responder定義 var responder:Responder = new Responder(onNormal2,onFault); コネクションの定義 リクエストURL リクエストURL var nc:NetConnection = new NetConnection(); NetConnection(); nc.connect('http://127.0.0.1/index/amf'); nc.connect('http://127.0.0.1/index/amf'); nc.objectEncoding = ObjectEncoding.AMF3; クラス定義 var params:SendData = new SendData; SendData; params.cb1 = CB1.text; 送信! クラスと関数を指定 nc.call('job1.getData2',responder,params); nc.call('job1.getData2',responder,params); # 49 Developers Summit 2010
  50. 50. Flash側ソース: Flash側ソース: 通常処理 簡単に連想配列で受け取れる private function onNormal2(ret:*):void{ TA1.text = ret.status; ret.status; L2.text = ret.val; } 異常処理 private function onFault(ret:*):void{ onFault(ret:*):void{ Alert.show('通信失敗'); Alert.show('通信失敗'); } # 50 Developers Summit 2010
  51. 51. クラスマッピング用ファイル クラスマッピング用 SendData.sa CatchData.php package { <?php <?php [Bindable] Bindable] class CatchData [RemoteClass(alias="SendData")] RemoteClass(alias="SendData")] { public class SendData { public $cb1; public var cb1:String; public $cb2; public var cb2:String; public $cb3; public var cb3:String; public $ta1; public var ans:String; ans:String; } } } # 51 Developers Summit 2010
  52. 52. PHPソースコード PHPソースコード public function amfAction() amfAction() { //描画処理を無効化 //描画処理を無効化 $this->_helper- viewRenderer- setNoRender(true); $this->_helper->viewRenderer->setNoRender(true); $server = new Zend_Amf_Server(); Zend_Amf_Server(); //処理クラスを定義 //処理クラスを定義 $server- setClass('job1'); $server->setClass('job1'); //PHPとAction Scriptのクラスをマッピング //PHPと Scriptのクラスをマッピング $server- setClassMap('SendData', 'CatchData'); $server->setClassMap('SendData', 'CatchData'); $result = $server->handle(); $server- echo $result; } # 52 Developers Summit 2010
  53. 53. PHPソース 処理部分 PHPソース class job1 { public function getData($param) getData($param) { //何かしらの処理 //何かしらの処理 return “文字列”; “文字列”; } public function getData2($param) getData2($param) { //何かしらの処理 //何かしらの処理 return array(“obj”=>$param,“status”=>“OK”,“val”=>”文字列”); array(“obj”=>$param,“status”=>“OK”,“val”=>”文字列”); } } # 53 Developers Summit 2010
  54. 54. ゼンド・ジャパン株式会社 Zend Japan, Ltd. 執行役員 佐藤栄一 satou@zend.co.jp 〒150-0041 150- 東京都渋谷区神南1丁目15番 東京都渋谷区神南1丁目15番8号 兼仲ビル2階 兼仲ビル2 TEL:03-6275- TEL:03-6275-2002 FAX:03-3462- FAX:03-3462-1365 Webサイト http://www.zend.co.jp/ Webサイト PHP開発を側面から支援する PHP開発を側面から支援する 開発 から支援 Developers Summit 2010

×