<?PHP テーマ2 PHPまるわかり!コーディングから 実 環 境 まで ビギナーからプロフェッショナルまで 全 ての 開 発 者 にフィットするPHPの 秘 密 スクエアー free セミナー 第 48 回 How to get Mother tongue. コネクト 株 式 会 社
<?PHP アジェンダ コネクト 株 式 会 社 の 紹 介 PHPの 現 状 と 未 来 PHP 開 発 スタイル OSSの 活 用 PHPフレームワークの 活 用 PHPスクラッチ 開 発 PHP 実 環 境
<?PHP コネクト 株 式 会 社 のご 紹 介
<?PHP 会 社 概 要 会 社 情 報 社 名 コネクト 株 式 会 社 ( 英 語 表 記 :konekto Inc.) 設 2004 年 8 月 27 日 資 本 9,500 万 円 代 表 取 締 役 本 店 所 在 地 佐 藤 栄 一 111-0051 東 京 都 台 東 区 蔵 前 3-6-7 蔵 前 イセキビル4F TEL:03-5809-1853 FAX:03-3865-8220 企 業 間 だけではなく 人 と 企 業 および 人 と 人 のつながりを 大 切 にするITを 目 指 し つながりを 表 す コネクト (konekto: エスペラント 語 ) を 社 名 いたしました 主 な 取 引 先 ( 順 不 同 敬 称 略 ) 株 式 会 社 大 塚 商 会 株 式 会 社 ネットワ-ルド 株 式 会 社 iguazu ターボリナックス 株 式 会 社 ターボシステムズ 株 式 会 社 伊 藤 忠 テクノソリューションズ 株 式 会 社 全 日 空 システムズ 株 式 会 社 株 式 会 社 クレアンスメアード 富 士 ゼロックスシステムサービス 株 式 会 社 株 式 会 社 サードウェア 株 式 会 社 PCIアイオス 株 式 会 社 株 式 会 社 ティージー 情 報 ネットワーク オリックス 株 式 会 社 株 式 会 社 NTTぷらら さくら 情 報 システム 株 式 会 社 4
<?PHP コネクトのあゆみ Zendプロダクトの 日 本 総 代 理 店 として 日 本 語 化 およびサポートを 提 供 PHPによるWebシステム 開 発 およびサポートを 提 供 PHPと 組 み 合 わされることの 多 い オープンソースデータベースMySQLのリセールパートナー 2001 年 9 月 株 式 会 社 テンアートニ ( 現 :サイオステクノロジー 株 式 会 社 )の1 部 門 としてスタート 2002 年 12 月 ゼンド オープンソースシステムズ 株 式 会 社 として 独 立 2003 年 9 月 MySQLプロダクトの 取 扱 い 開 始 /サポートサービス 開 始 2004 年 9 月 ゼンド ジャパン 株 式 会 社 に 社 名 変 更 2005 年 3 月 Apache/Tomcatサポートサービス 開 始 2006 年 5 月 ターボリナックス 傘 下 となる 2006 年 9 月 IBM i( 当 時 System i) 対 応 プロダクトをリリース 2007 年 3 月 Zend Core 2.0リリース(Windows 環 境 を 大 幅 に 改 善 ) 2010 年 9 月 Zend Server リリース 2012 年 7 月 コネクト 株 式 会 社 に 社 名 変 更 2012 年 11 月 Cassandraサポートサービス 提 供 開 始 2013 年 8 月 dynatraceの 取 扱 い 開 始 5
<?PHP 主 要 3 事 業 Webシステムソリューションご 提 供 Webシステム PHP 世 界 で 最 も 使 用 されているWeb 用 スクリプト 言 語 データベース MySQL 世 界 で 最 も 使 用 されているOSS データベース konekto OSSサポートサービス コンサルティング Apache Apache Tomcat Apache Cassandra は Apache Software Foundationの 登 録 商 標 です その 他 の 商 標 は 各 社 の 登 録 商 標 です 6
<?PHP Zend 製 品 ファミリー Zend Studio PHP 専 用 統 合 開 発 環 境 PHPの 統 合 開 発 環 境 です エディタからデバッガまで PHPの 開 発 に 必 要 な 機 能 を 集 約 しました Zend Guard PHPセキュリティソリューション ソースのコード 化 による 不 可 視 化 高 速 化 を 実 現 します ライセンス 制 限 を 掛 ける 機 能 も 提 供 します Zend Server PHPアプリケーションサーバ 障 害 監 視 パフォーマンス 向 上 などを 行 います 強 力 な 運 用 サポー ト 機 能 を 提 供 します さらに ジョブキュー セッションクラスタリング Javaブリッジなどの PHPサーバを 大 幅 に 強 化 / 拡 張 する 機 能 を 提 供 しています 無 償 でできないことをリーズナブルなコストで 実 現 7
<?PHP PHPの 現 状 と 未 来
<?PHP スクリプト 言 語 シェア Java 2.6% server-side programming languages for websites ColfFusion 0.8% Perl 0.5% Ruby 0.5% Python 0.1% Java Script 0.1% ASP.NET 16.6% PHP 78.9% PHP ASP.NET Java ColfFusion Perl Ruby Python Java Script 出 展 :W3Techs http://w3techs.com/ 9
<?PHP PHPバージョン 分 布 PHP 5.4 23.1% PHP 5.5 3.7% PHP 5.6 0.1% PHP 5.1 1.3% PHP 5.2 23.3% PHP 5.3 48.4% 出 展 :W3Techs http://w3techs.com/ 10
<?PHP PHPライフサイクル PHPバージョン GA EOL ライフサイクル 4.4 2005 年 7 月 2008 年 8 月 3 年 5.0 2004 年 7 月 2005 年 9 月 1 年 5.1 2005 年 11 月 2006 年 8 月 1 年 5.2 2006 年 11 月 2011 年 1 月 4 年 5.3 2009 年 6 月 2014 年 8 月 5 年 5.4 2012 年 3 月 2015 年 3 月 3 年 5.5 2013 年 6 月 2016 年 3? 3 年 5.6 2014 年 8 月 2017 年 8? 3 年 5.7 2015 年 8? 3 年 7 2016 年? 3 年 11
<?PHP PHPは ブラシである PHPは ブラシくらい 興 奮 に 値 す る シンプルで 毎 使 う 便 利 な 道 具 だからどうした ブラシについて 書 物 を 漁 るやつが いるか? Rasmus Lerdorf 氏 12
<?PHP 次 世 代 PHP HHVM Facebookが 開 発 公 開 する PHP 環 境 C++トランスレータ(2010/2) JITベースVM(2011/12) Hack HHVM 用 のPHP 互 換 言 語 関 数 クラスの 型 アノテー ション * Facebookの98%が 移 済 HHVM + Hack == PHP++ PHPNG(テストベット) メモリ 管 理 みなおし 変 数 管 理 みなおし PHP7 JITサポート ASTベースコンパイラ OpCacheエンジン 統 合 非 同 期 プログラミング 64bit 対 応 Unicodeサポート HTTP2 など 13
<?PHP PHP 開 発 スタイル
<?PHP PHPの 利 ポイント スクラッチ 開 発 フレーム ワーク 活 用 OSS 活 用 15
<?PHP 開 発 効 率 の 追 求 ( 極 限 ) パッケージソフト ( 半 完 成 品 ) フレームワーク OSS 活 用 PHPフレームワーク 利 テンプレートエンジン 隠 蔽 化 / 抽 象 化 スクラッチ 開 発 プログラム 言 語 Copyright 2014 konekto, Inc 16
<?PHP OSSの 活 用 オープンソースアプリを 活 用 する
<?PHP CMSの 活 用 WordPress http://ja.wordpress.org/ 18
<?PHP CMSの 活 用 Drupal http://drupal.jp/ 19
<?PHP ECの 活 用 EC-Cube http://www.ec-cube.net/ 20
<?PHP ECの 活 用 Magento http://www.magento-jp.com/ 21
<?PHP CRMの 活 用 SugarCRM http://www.sugaruser.jp/ 22
<?PHP フレームワークの 利 Webアプリ 開 発 の 近 道
<?PHP アプリケーションの 共 通 機 能 汎 的 な 処 理 の 共 通 化 ページ 遷 移 とロジック MVCによる 役 割 の 明 確 化 デザインとロジックの 分 離 処 理 (サニタイズ) データベース 処 理 隠 蔽 化 認 証 処 理 /アクセス 制 御 24
<?PHP PHPフレームワークのシェア 25
<?PHP 代 表 的 な PHPフレームワークの 比 較 小 規 模 大 規 模 単 機 能 高 機 能 Laravel CodeIgniter FuelPHP Yii CakePHP Zend Framework 2 Symfony 26
<?PHP 話 題 性 :Google トレンド 日 本 国 内 限 定 WWでの 集 計 27
<?PHP スクラッチ 開 発 ビギナーからエキスパートまで 豊 富 なコーディングスタイル
<?PHP PHPによるプログラム HTMLとの 混 在 1. <HTML> 2. <BODY> 3. <?php 4. for ($i = 1; $i <= 10; $i++) 5. { 6. print "Hello PHP <BR>"; 7. } 8.?> 9. </BODY> 10. </HTML> 29
<?PHP PHPによるプログラム 関 数 の 作 成 1. <?php 2. function foo($arg_1, $arg_2, /*..., */ $arg_n) 3. { 4. echo " 関 数 の 例 n"; 5. return $retval; 6. } 7.?> 30
<?PHP PHPによるプログラム オブジェクト 指 向 プログラム 1. class Cart 2. { 3. var $todays_date; 4. var $name; 5. var $owner; 6. var $items = array("vcr", "TV"); 7. function Cart() 8. { 9. $this->todays_date = date("y-m-d"); 10. $this->name = $GLOBALS['firstname']; 11. /* 等 など... */ 12. } 13. } 14.?> 1. <?php 2. $cart = new Cart; 3. $cart->add_item("10", 1); 4. $another_cart = new Cart; 5. $another_cart->add_item("0815", 3); 6.?> 31
<?PHP PHPコーディングスタイル テキストエディタ メモ 帳 Vi 高 機 能 エディタ 秀 丸 Notepad++ 統 合 開 発 環 境 PhpStorm Netbeans phpdesigner Aptana Studio Zend Studio 有 償 無 償 有 償 (シェアウエア) 有 償 / 無 償 有 料 ( 評 価 版 あり)/ 無 償 (Eclipse+PHP IDE) 32
<?PHP Zend Studio 10 日 本 語 版 プロジェクト 規 模 の 開 発 体 制 にフォーカス 33
<?PHP PHP 実 環 境
<?PHP PHP 実 環 境 構 築 のポイント パッケージ 一 括 導 入 独 自 インストール アプリケー ションサーバ Zend Server
<?PHP パッケージ 一 括 導 入 Linuxデストリビューションには Webサーバ データベース PHP 必 ず 収 録 されています 36
<?PHP Cloud/レンタルサーバ Cloudにも 必 ずPHPが 提 供 されています 当 たり 前 のように 利 できます 先 進 的 なCloudベンダーは PHPから 環 境 管 理 を うAPI を 提 供 しています レンタルサーバでも PHPは ほぼ 間 違 えなく 使 用 できます 一 部 のレンタルサーバは 古 い( 信 じられないくらい)バー ジョンを 標 準 としています 要 注 意 です 37
<?PHP PHPを 独 自 インストール PHPと 縁 遠 い 環 境 では 独 にインストールを いま す LinuxなどのUNIX 系 の 場 合 には ソースコードをダウン ロードしてコンパイルする 必 要 があります Windowsの 場 合 には コンパイル 済 バイナリを 入 手 して ダインロードすることをお 勧 めします 38
<?PHP 手 元 のWindows PCに 環 境 構 築 パッケージ 導 入 をお 勧 めします XAMPP Apache,PHP,MySQL 有 名 OSS(Drupal Joomla! WordPress Magento SugarCRMなどの)のインストールも 可 能 です Zend Server Apache,PHP,MySQL 大 規 模 PHPフレームワーク(Symphony Zend Framework 1/2) のインストールも 可 能 です 有 名 OSS(Drupal Joomla! WordPress Magentoなどの)のイ ンストールも 可 能 です 39
<?PHP Zend Server が 提 供 する 実 環 境 信 頼 性 と 速 性 を 両 したPHP 環 境 の 提 供 Webアプリ 単 位 の 監 視 機 能 を 提 供 稼 動 後 の 運 管 理 の 容 易 さ 開 発 効 率 の 向 上 モバイル 環 境 への 対 応 MySQL/Oracle サーバ 管 理 GUI Zend Framework 1 & 2 データベースドライバ 拡 張 モジュール PHP 実 環 境 Apache(IHS) デプロイ 機 能 高 速 化 デバッグ JVMとの 連 携 モニタリング ジョブキュー コードトレーシング 40
<?PHP PHP 実 環 境 :Zend Server 7.0 Copyright 2014 konekto, Inc 41
<?PHP Z-Rayとは PHP 実 行 状 況 を 手 軽 に 解 析 するためのZend Server 7 新 機 能 旧 来 のコードトレースをWebブラウザに 実 装 しました ブラウザに 新 たなプラグインを 必 要 とせずにPHPアプリケーション の 実 行 状 況 を 詳 細 に 解 析 できます シンプルで 手 軽 に 解 析 を 始 められます Chrome(デベロッパツール)やFireFox(FireBug)と 何 が 違 うのか PHPの 実 行 内 容 が 解 ります データベースの 処 理 が 見 られます 42
<?PHP Z-Ray ツールバー 43
<?PHP Z-Ray ツールバーの 機 能 ステータス レスポンスタイム/ 容 量 モニター(アラート) エラー データベース 処 理 呼 び 出 し 関 数 環 境 変 数 Zend Studio 連 携 Zend Server 設 定 変 更 Z Ray ツールバー Off 44
<?PHP ステータス 45
<?PHP レスポンスタイム/ 容 量 46
<?PHP モニター(アラート) 47
<?PHP エラー 48
<?PHP データベース 処 理 49
<?PHP 呼 び 出 し 関 数 50
<?PHP 環 境 変 数 51
<?PHP Zend Server 7 対 応 システム サポートOS Linux x86 and x86-64 RHEL, CentOS and OEL - versions 6.x and 5.x through RPM packages SLES 11 and OpenSUSE 12.x through RPM package Debian GNU/Linux 6.0 and 7.x Ubuntu Linux 12.04/14.04 (LTS) and latest via DEB packages. Windows x86 and x86-64 Windows 7 Windows 8 Windows Server 2008 R2 Windows Server 2012 IBM i サポートPHP 5.5~5.4 V6R1 V7R1 V7R2 with latest PTFs 52