SlideShare a Scribd company logo
1 of 30
PHP5.4勉強会
                                   株式会社シーエーアドバンス
                                           大谷 祐司




Copyright © CyberAgent .inc 2011               1
自己紹介



                           大谷 祐司(おおたに ゆうじ)
                           --------------------------------------
                           株式会社シーエー・アドバンス 技術責任者。
                           技術大好き、プログラム大好きです。

                           山口県出身で、現在は東京在住。
                           沖縄が大好きで毎月来ています。
                           (ホテルとオフィスの往復がほとんどですが・・・)

                           9月で32歳になります。




Copyright © CA ADvance .inc 2012                                    2
自己紹介




                     参加者の皆さんにも自己紹介してもらいましょう。




Copyright © CA ADvance .inc 2012               3
自己紹介




                     シーエーアドバンスの社内勉強会を外部解放するというコン
                     セプトで、今日の勉強会は企画されました。

                     弊社では、定期的に技術に関する勉強会を行っています。
                     興味を持った方は、「エグジニアブログ」で検索してみ
                     てください。




Copyright © CA ADvance .inc 2012                   4
自己紹介




                     初めての試みですが、失敗を恐れずに頑張ります!
                     皆さんにとって有意義な勉強会になれば幸いです。




Copyright © CA ADvance .inc 2012               5
はじめに




      ■今日のテーマ

      3月に安定板がリリースされたPHP5.4です。




Copyright © CA ADvance .inc 2012   6
今日の内容




                      以下についてお話しします。

                      ■PHP5.4の新機能

                      ■PHP5.3→5.4のバージョンアップについて

                      ■弊社のバージョンアップ事例




Copyright © CA ADvance .inc 2012                 7
今日の内容




                      PHP5.4 もう導入していますか?




Copyright © CA ADvance .inc 2012           8
PHP5.4の新機能




              PHP5.4開発時に、PHP6にするか検討したらしいです。

              それくらい大きく変わっていました・・・




Copyright © CA ADvance .inc 2012              9
PHP5.4の新機能

                            新機能がたくさん・・・
                            ■配列をメソッドチェーンのように参照可能

                            ■callable配列をそのまま実行可能

                            ■クロージャの中で$thisが使える

                            ■Traitsのサポート

                            ■配列のシンタックスシュガー

                            ■staticメソッドの可変呼び出し

                            ■callableが型ヒントに使える

                            ■コンストラクタからメソッドチェーンが実行可能

                            ■ビルトインWEBサーバ

                            今日はこれらを、詳しく解説します。

Copyright © CA ADvance .inc 2012                      10
PHP5.4の新機能

                 ■配列をメソッドチェーンのように参照可能

                 PHP5.3まではこう書く必要がありましたが、

                 $a = new A();
                 $row = $a->foo();
                 echo $row['name'];


                 PHP5.4だとこう書けばOKです。

                 $a = new A();
                 echo $a->foo()['name'];




Copyright © CA ADvance .inc 2012           11
PHP5.4の新機能

                 ■ callable配列をそのまま実行可能

                 callable配列( array(‘class’, ‘method’))を
                 そのまま実行出来るようになりました。

                 $f = array('Foo','bar');
                 echo $f('TEST');




Copyright © CA ADvance .inc 2012                          12
PHP5.4の新機能

                 ■クロージャの中で$thisが使える

                 php5.3までは、「Fatal error: Using $this when
                 not in object context」が出ましたが、PHP5.4では
                 問題なく実行されます。

                 class A {
                     private $value = ‘文字列A';
                     function single_getter($name) {
                         return function() use ($name) {
                                return $this->$name;
                         };
                     }
                 }




Copyright © CA ADvance .inc 2012                            13
PHP5.4の新機能

                 ■Traitのサポート

                 ・Traitとは、クラスの継承関係に影響を与えずクラスに適用で
                 きるメソッドとプロパティの集合です。

                 ・trait本体は、class XXXのように trait XXX と作成します。呼
                 び出す際は、クラス内で use XXX と宣言します。




Copyright © CA ADvance .inc 2012                              14
PHP5.4の新機能

                 ■Traitsのサンプルコード

                 trait Hello {
                         public function sayHelloWorld() {
                                echo 'Hello'.$this->getWorld();
                         }
                         abstract public function getWorld();
                 }
                 class MyHelloWorld {
                     private $world;
                     use Hello;
                     public function getWorld() {
                         return $this->world;
                     }
                     public function setWorld($val) {
                         $this->world = $val;
                     }
                 }

Copyright © CA ADvance .inc 2012                                  15
PHP5.4の新機能

                 ■配列のシンタックスシュガー

                 他の言語のように配列の簡単な初期化がサポートされます。

                 PHP5.3まではこう書く必要がありましたが、
                 $a = array('A', ‘B', ‘C');
                 $b = array('A' =>‘contentsA',
                              ‘B'=>‘contentsB',
                              ‘C'=>‘contentsC');

                 PHP5.4だとこう書けばOKです。
                 $a = ['A', ‘B', ‘C'];
                 $b = ['A' => ‘contentsA',
                     ‘B' => ‘contentsB',
                     ‘C' => ‘contentsC'];




Copyright © CA ADvance .inc 2012                   16
PHP5.4の新機能

                 ■ staticメソッドの可変呼び出し

                 波括弧を使いstaticメソッドの呼び出しを可変に出来
                 ます。

                 class StaticClass {
                     public static function getName() {
                         return ‘名前';
                     }
                 }
                 $method = 'getName';
                 echo StaticClass::{$method}(); //「名前」と表示
                 される。




Copyright © CA ADvance .inc 2012                            17
PHP5.4の新機能

                 ■ callableが型ヒントに使える

                 function hi(callable $f) {
                     echo $f();
                 }
                 class Human
                 {
                     public function hello() {
                         return “文字1";
                     }
                 }
                 hi([new Human(), ‘hello’]); //「文字1」が表示される。

                 $songName = function() {
                     return “文字2";
                 };
                 hi($songName); //「文字2」が表示される。


Copyright © CA ADvance .inc 2012                              18
PHP5.4の新機能

                 ■コンストラクタからメソッドチェーンが実行可能

                 class Human{
                     function __construct($name) {
                         $this->name = $name;
                     }
                     public function hello() {
                         return "Hi " . $this->name;
                     }
                 }

                 // 古い方法
                 $human = new Human(“文字1");
                 echo $human->hello();

                 // 新しい方法
                 echo (new Human("文字1"))->hello();


Copyright © CA ADvance .inc 2012                       19
PHP5.4の新機能

                 ■ビルトインWebサーバ

                 PHPだけでWebサービスを提供できる機能です。起動し
                 たディレクトリが ドキュメントルートになります。
                 Apacheが持っているSSIなどの機能は使えず、飽くま
                 でPHPを試すためのものです。




Copyright © CA ADvance .inc 2012                20
PHP5.4の新機能




                   かなりたくさんありましたね。覚えるのが大変そうです・・・

                   便利な機能も多いので、使いこなせるようになりたいですね!




Copyright © CA ADvance .inc 2012                  21
PHP5.4の新機能




                   次はPHP5.3→5.4のバージョンアップについて見ていきましょう。




Copyright © CA ADvance .inc 2012                        22
PHP5.3→5.4のバージョンアップについて




                  ■とりあえず移行ガイドを見てみる。
                  http://php.net/manual/ja/migration54.php

                  PHP 5.4.x で改良された点のほどんどは、既存のコードに影響
                  を及ぼしません。

                  →おぉ、素晴らしい!!




Copyright © CA ADvance .inc 2012                             23
PHP5.3→5.4のバージョンアップについて


               移行ガイドを見てみると、下位互換性のない変更点がたくさんあ
               ります・・・

               http://www.php.net/manual/ja/migration54.incompatible.php

    セーフモード をサポートしなくなりました。セーフモードでの動作を前提とするアプリケーションは、 セキュリティに関する調整が必要となります。
    ■マジッククォート が削除されました。 この機能に依存するアプリケーションは、依存しないように修正しないとセキュリティの問題が発生します。
    get_magic_quotes_gpc() と get_magic_quotes_runtime()は常に FALSE を返すようになりました。 set_magic_quotes_runtime() を実行すると E_CORE_ERROR が発生
    します。
    ■ini 設定 register_globals と register_long_arraysが削除されました。
    ■呼び出し時の参照渡しをサポートしなくなりました。
    ■breakと continueへの引数として、変数は使えなくなりました。つまり、 break 1 + foo() * $bar; などとは書けなくなったということです。 静的な引数を使う
    のはもちろん可能で、break 2; などは使えます。 この変更の副作用として、 break 0; や continue 0; が使えなくなりました。
    ■Date 拡張モジュールにおいて、TZ 環境変数によるタイムゾーンの設定をサポートしなくなりました。 php.ini 設定 date.timezone あるいは
    date_default_timezone_set()関数でタイムゾーンを指定しなければなりません。 デフォルトのタイムゾーンが設定されていない場合に推測することがなくなり、 未
    設定の場合は常に "UTC" とみなして E_WARNING を発生させるようになりました。
    ■$a が文字列の場合に非数値のオフセット (たとえば $a['foo']) を指定したときの isset() の返り値は false、 そして empty() の返り値は true となりました。
    そして同時に E_WARNING が発生します。オフセットに double や bool そして null を指定した場合は E_NOTICE が発生します。数値とみなせる文字列を渡した場合
    ($a['2'] など) の挙動はこれまでと変わりません。 '12.3' や '5 foobar' のようなオフセットは非数値とみなされて E_WARNINGが発生しますが、過去との互換性の
    ためにそれぞれ 12 および 5 に変換されることに注意しましょう。 次のようなコードの返す値が変わります。 $str='abc';var_dump(isset($str['x'])); // PHP
    5.4 以降では false、5.3 以前のバージョンでは true
    ■配列を文字列に変換しようとすると E_NOTICE が発生するようになりました。 キャストの結果は "Array" で、以前と変わりません。
    ■NULL、FALSE あるいは空文字列にプロパティを追加してオブジェクトに変換しようとすると、 これまでのような E_STRICT エラーではなく warning が発生するよ
    うになりました。
    ■スーパーグローバルをパラメータ名として使うと fatal error となります。つまり function foo($_GET, $_POST) {} などのコードは使えなくなります。
    ■ハッシュアルゴリズム Salsa10 および Salsa20 が削除されました。
    ■array_combine() のパラメータとして空の配列を二つ指定したときの返り値が FALSE ではなく array() となりました。
    ■htmlentities() は、アジアの文字に対して使ったときに E_STRICT を発行するようになりました。この場合の htmlentities() の挙動が htmlspecialchars() (こ
    ちらは以前からそうなっていた) と同じになりました。




Copyright © CA ADvance .inc 2012                                                                                                   24
PHP5.3→5.4のバージョンアップについて



                              特にやばそうなもの。


    ■呼び出し時の参照渡しをサポートしなくなりました。
    ■$a が文字列の場合に非数値のオフセット (たとえば $a['foo']) を指定したときの isset() の返り値は false、 そして
    empty() の返り値は true となりました。 そして同時に E_WARNING が発生します。

    ■配列を文字列に変換しようとすると E_NOTICE が発生するようになりました。 キャストの結果は "Array" で、以前と変
    わりません。

    ■NULL、FALSE あるいは空文字列にプロパティを追加してオブジェクトに変換しようとすると、 これまでのような
    E_STRICT エラーではなく warning が発生するようになりました。




Copyright © CA ADvance .inc 2012                                               25
PHP5.3→5.4のバージョンアップについて


             シーエーアドバンスでもPHP5.4に取り組もうとしました。

             対象は、インターネット広告運用のプラットフォーム。
             オレオレフレームワークです。




Copyright © CA ADvance .inc 2012             26
PHP5.3→5.4のバージョンアップについて


             広告運用プラットフォーム
             →オレオレフレームワーク。

             参照渡しがたくさん→気合いで修正。
             Depricatedがたくさん→とりあえず無視。

             何とか動くようになったと思ったら・・・




Copyright © CA ADvance .inc 2012        27
PHP5.3→5.4のバージョンアップについて


             開発機(ローカルWindows)のmemcacheが動かない・・・
             PHP5.4版のphp_memcache.dllをネットで探すも見つからず。

             →バージョンアップは一旦断念。
              残念!!!!!




Copyright © CA ADvance .inc 2012                      28
総括


             許されるなら、早くPHP5.4に切り替えた方が良いと思います。

             ・大幅なメモリ使用量の削減
             (43%削減されるというデータがあるそうです)

             ・実行速度のUP
             (あるテストでは、25%高速化されているという結果も)

             ・新機能を使うことによる、コード量の削減→見やすいコードに

             などなど、新しいものには素晴らしい部分がたくさんあります。




Copyright © CA ADvance .inc 2012               29
ご清聴ありがとうございました。




Copyright © CA ADvance .inc 2012                     30

More Related Content

What's hot

【アシアル塾】PHPオブジェクト指向再入門・第三回Exceptionクラスによる例外処理
【アシアル塾】PHPオブジェクト指向再入門・第三回Exceptionクラスによる例外処理【アシアル塾】PHPオブジェクト指向再入門・第三回Exceptionクラスによる例外処理
【アシアル塾】PHPオブジェクト指向再入門・第三回Exceptionクラスによる例外処理アシアル株式会社
 
PHPの今とこれから2014
PHPの今とこれから2014PHPの今とこれから2014
PHPの今とこれから2014Rui Hirokawa
 
15分でCakePHPを始める方法(Nseg 2013-11-09 )
15分でCakePHPを始める方法(Nseg 2013-11-09 )15分でCakePHPを始める方法(Nseg 2013-11-09 )
15分でCakePHPを始める方法(Nseg 2013-11-09 )hiro345
 
【アシアル塾】PHPオブジェクト指向再入門・第一回クラスとオブジェクト
【アシアル塾】PHPオブジェクト指向再入門・第一回クラスとオブジェクト【アシアル塾】PHPオブジェクト指向再入門・第一回クラスとオブジェクト
【アシアル塾】PHPオブジェクト指向再入門・第一回クラスとオブジェクトアシアル株式会社
 
Webシステム脆弱性LT資料
Webシステム脆弱性LT資料Webシステム脆弱性LT資料
Webシステム脆弱性LT資料Tomohito Adachi
 
PHP Now and Then 2012 at PHP Conference 2012, Tokyo Japan (in japanese)
PHP Now and Then 2012 at PHP Conference 2012, Tokyo Japan (in japanese)PHP Now and Then 2012 at PHP Conference 2012, Tokyo Japan (in japanese)
PHP Now and Then 2012 at PHP Conference 2012, Tokyo Japan (in japanese)Rui Hirokawa
 
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)Rui Hirokawa
 
omoon.org の裏側 〜FuelPHP の task 活用例〜
omoon.org の裏側 〜FuelPHP の task 活用例〜omoon.org の裏側 〜FuelPHP の task 活用例〜
omoon.org の裏側 〜FuelPHP の task 活用例〜Sotaro Omura
 
Modern PHP Programming @ PFI Seminar
Modern PHP Programming @ PFI SeminarModern PHP Programming @ PFI Seminar
Modern PHP Programming @ PFI SeminarSotaro Karasawa
 
【アシアル塾】PHPオブジェクト指向再入門・第二回クラスの継承と委譲
【アシアル塾】PHPオブジェクト指向再入門・第二回クラスの継承と委譲【アシアル塾】PHPオブジェクト指向再入門・第二回クラスの継承と委譲
【アシアル塾】PHPオブジェクト指向再入門・第二回クラスの継承と委譲アシアル株式会社
 
PHP5.5新機能「ジェネレータ」初心者入門
PHP5.5新機能「ジェネレータ」初心者入門PHP5.5新機能「ジェネレータ」初心者入門
PHP5.5新機能「ジェネレータ」初心者入門kwatch
 
「スピード」と「品質」を実現するPHP開発チームの取り組み~AngularJS+FuelPHP+AspectMock~
「スピード」と「品質」を実現するPHP開発チームの取り組み~AngularJS+FuelPHP+AspectMock~「スピード」と「品質」を実現するPHP開発チームの取り組み~AngularJS+FuelPHP+AspectMock~
「スピード」と「品質」を実現するPHP開発チームの取り組み~AngularJS+FuelPHP+AspectMock~leverages_event
 
Hack/HHVM 入門
Hack/HHVM 入門Hack/HHVM 入門
Hack/HHVM 入門y-uti
 
PHPの今とこれから2019
PHPの今とこれから2019PHPの今とこれから2019
PHPの今とこれから2019Rui Hirokawa
 
フラットなPHPからフレームワークへ
フラットなPHPからフレームワークへフラットなPHPからフレームワークへ
フラットなPHPからフレームワークへMasao Maeda
 
40分濃縮 PHP classの教室
40分濃縮 PHP classの教室40分濃縮 PHP classの教室
40分濃縮 PHP classの教室Yusuke Ando
 
SQL上級者こそ知って欲しい、なぜO/Rマッパーが重要か?
SQL上級者こそ知って欲しい、なぜO/Rマッパーが重要か?SQL上級者こそ知って欲しい、なぜO/Rマッパーが重要か?
SQL上級者こそ知って欲しい、なぜO/Rマッパーが重要か?kwatch
 

What's hot (20)

【アシアル塾】PHPオブジェクト指向再入門・第三回Exceptionクラスによる例外処理
【アシアル塾】PHPオブジェクト指向再入門・第三回Exceptionクラスによる例外処理【アシアル塾】PHPオブジェクト指向再入門・第三回Exceptionクラスによる例外処理
【アシアル塾】PHPオブジェクト指向再入門・第三回Exceptionクラスによる例外処理
 
PHPの今とこれから2014
PHPの今とこれから2014PHPの今とこれから2014
PHPの今とこれから2014
 
15分でCakePHPを始める方法(Nseg 2013-11-09 )
15分でCakePHPを始める方法(Nseg 2013-11-09 )15分でCakePHPを始める方法(Nseg 2013-11-09 )
15分でCakePHPを始める方法(Nseg 2013-11-09 )
 
【アシアル塾】PHPオブジェクト指向再入門・第一回クラスとオブジェクト
【アシアル塾】PHPオブジェクト指向再入門・第一回クラスとオブジェクト【アシアル塾】PHPオブジェクト指向再入門・第一回クラスとオブジェクト
【アシアル塾】PHPオブジェクト指向再入門・第一回クラスとオブジェクト
 
Webシステム脆弱性LT資料
Webシステム脆弱性LT資料Webシステム脆弱性LT資料
Webシステム脆弱性LT資料
 
HHVM Hack
HHVM HackHHVM Hack
HHVM Hack
 
PHP Now and Then 2012 at PHP Conference 2012, Tokyo Japan (in japanese)
PHP Now and Then 2012 at PHP Conference 2012, Tokyo Japan (in japanese)PHP Now and Then 2012 at PHP Conference 2012, Tokyo Japan (in japanese)
PHP Now and Then 2012 at PHP Conference 2012, Tokyo Japan (in japanese)
 
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)
 
PHP勉強会 #51
PHP勉強会 #51PHP勉強会 #51
PHP勉強会 #51
 
omoon.org の裏側 〜FuelPHP の task 活用例〜
omoon.org の裏側 〜FuelPHP の task 活用例〜omoon.org の裏側 〜FuelPHP の task 活用例〜
omoon.org の裏側 〜FuelPHP の task 活用例〜
 
Modern PHP Programming @ PFI Seminar
Modern PHP Programming @ PFI SeminarModern PHP Programming @ PFI Seminar
Modern PHP Programming @ PFI Seminar
 
【アシアル塾】PHPオブジェクト指向再入門・第二回クラスの継承と委譲
【アシアル塾】PHPオブジェクト指向再入門・第二回クラスの継承と委譲【アシアル塾】PHPオブジェクト指向再入門・第二回クラスの継承と委譲
【アシアル塾】PHPオブジェクト指向再入門・第二回クラスの継承と委譲
 
実"戦"CakePHP Plugin
実"戦"CakePHP Plugin実"戦"CakePHP Plugin
実"戦"CakePHP Plugin
 
PHP5.5新機能「ジェネレータ」初心者入門
PHP5.5新機能「ジェネレータ」初心者入門PHP5.5新機能「ジェネレータ」初心者入門
PHP5.5新機能「ジェネレータ」初心者入門
 
「スピード」と「品質」を実現するPHP開発チームの取り組み~AngularJS+FuelPHP+AspectMock~
「スピード」と「品質」を実現するPHP開発チームの取り組み~AngularJS+FuelPHP+AspectMock~「スピード」と「品質」を実現するPHP開発チームの取り組み~AngularJS+FuelPHP+AspectMock~
「スピード」と「品質」を実現するPHP開発チームの取り組み~AngularJS+FuelPHP+AspectMock~
 
Hack/HHVM 入門
Hack/HHVM 入門Hack/HHVM 入門
Hack/HHVM 入門
 
PHPの今とこれから2019
PHPの今とこれから2019PHPの今とこれから2019
PHPの今とこれから2019
 
フラットなPHPからフレームワークへ
フラットなPHPからフレームワークへフラットなPHPからフレームワークへ
フラットなPHPからフレームワークへ
 
40分濃縮 PHP classの教室
40分濃縮 PHP classの教室40分濃縮 PHP classの教室
40分濃縮 PHP classの教室
 
SQL上級者こそ知って欲しい、なぜO/Rマッパーが重要か?
SQL上級者こそ知って欲しい、なぜO/Rマッパーが重要か?SQL上級者こそ知って欲しい、なぜO/Rマッパーが重要か?
SQL上級者こそ知って欲しい、なぜO/Rマッパーが重要か?
 

Similar to Php5 4勉強会

10分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/1210分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/12kenjis
 
Web技術勉強会 20100925
Web技術勉強会 20100925Web技術勉強会 20100925
Web技術勉強会 20100925龍一 田中
 
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
 10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya 10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoyakenjis
 
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
 10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1 10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1kenjis
 
第21回Creators MeetUp
第21回Creators MeetUp第21回Creators MeetUp
第21回Creators MeetUpKenichi Mukai
 
今、最もイケてるPHPフレームワークLaravel4
今、最もイケてるPHPフレームワークLaravel4今、最もイケてるPHPフレームワークLaravel4
今、最もイケてるPHPフレームワークLaravel4アシアル株式会社
 
<第1回>Laravelハンズオンセミナー
<第1回>Laravelハンズオンセミナー<第1回>Laravelハンズオンセミナー
<第1回>LaravelハンズオンセミナーTatsuyoshi Mashiko
 
Phpcon tokyo 20120_bigginer
Phpcon tokyo 20120_bigginerPhpcon tokyo 20120_bigginer
Phpcon tokyo 20120_bigginerHideo Kashioka
 
LaravelでAPI定義を管理する
LaravelでAPI定義を管理するLaravelでAPI定義を管理する
LaravelでAPI定義を管理するKenjiro Kubota
 
PHP初心者セッション2023 〜ChatGPT時代の簡単な始め方〜
PHP初心者セッション2023 〜ChatGPT時代の簡単な始め方〜PHP初心者セッション2023 〜ChatGPT時代の簡単な始め方〜
PHP初心者セッション2023 〜ChatGPT時代の簡単な始め方〜Hideo Kashioka
 
FuelPHP Osu Nagoya vol.1
FuelPHP Osu Nagoya vol.1FuelPHP Osu Nagoya vol.1
FuelPHP Osu Nagoya vol.1Fumito Mizuno
 
はじめての FuelPHP
はじめての FuelPHPはじめての FuelPHP
はじめての FuelPHPSho A
 
PHPの今とこれから2017
PHPの今とこれから2017PHPの今とこれから2017
PHPの今とこれから2017Rui Hirokawa
 
PHPの今とこれから2023
PHPの今とこれから2023PHPの今とこれから2023
PHPの今とこれから2023Rui Hirokawa
 
Mojoliciousをウェブ制作現場で使ってみてる
Mojoliciousをウェブ制作現場で使ってみてるMojoliciousをウェブ制作現場で使ってみてる
Mojoliciousをウェブ制作現場で使ってみてるjamadam
 
WebAPIではじめるphp入門
WebAPIではじめるphp入門WebAPIではじめるphp入門
WebAPIではじめるphp入門Hiroaki Murayama
 
PHP と SAPI と ZendEngine3 と
PHP と SAPI と ZendEngine3 とPHP と SAPI と ZendEngine3 と
PHP と SAPI と ZendEngine3 とdo_aki
 
PHPの今とこれから 2013
PHPの今とこれから 2013PHPの今とこれから 2013
PHPの今とこれから 2013Rui Hirokawa
 

Similar to Php5 4勉強会 (20)

10分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/1210分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/12
 
Web技術勉強会 20100925
Web技術勉強会 20100925Web技術勉強会 20100925
Web技術勉強会 20100925
 
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
 10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya 10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
 
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
 10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1 10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
 
第21回Creators MeetUp
第21回Creators MeetUp第21回Creators MeetUp
第21回Creators MeetUp
 
今、最もイケてるPHPフレームワークLaravel4
今、最もイケてるPHPフレームワークLaravel4今、最もイケてるPHPフレームワークLaravel4
今、最もイケてるPHPフレームワークLaravel4
 
<第1回>Laravelハンズオンセミナー
<第1回>Laravelハンズオンセミナー<第1回>Laravelハンズオンセミナー
<第1回>Laravelハンズオンセミナー
 
Phpcon tokyo 20120_bigginer
Phpcon tokyo 20120_bigginerPhpcon tokyo 20120_bigginer
Phpcon tokyo 20120_bigginer
 
Traitsについて
TraitsについてTraitsについて
Traitsについて
 
Lithium Labo #1
Lithium Labo #1Lithium Labo #1
Lithium Labo #1
 
LaravelでAPI定義を管理する
LaravelでAPI定義を管理するLaravelでAPI定義を管理する
LaravelでAPI定義を管理する
 
PHP初心者セッション2023 〜ChatGPT時代の簡単な始め方〜
PHP初心者セッション2023 〜ChatGPT時代の簡単な始め方〜PHP初心者セッション2023 〜ChatGPT時代の簡単な始め方〜
PHP初心者セッション2023 〜ChatGPT時代の簡単な始め方〜
 
FuelPHP Osu Nagoya vol.1
FuelPHP Osu Nagoya vol.1FuelPHP Osu Nagoya vol.1
FuelPHP Osu Nagoya vol.1
 
はじめての FuelPHP
はじめての FuelPHPはじめての FuelPHP
はじめての FuelPHP
 
PHPの今とこれから2017
PHPの今とこれから2017PHPの今とこれから2017
PHPの今とこれから2017
 
PHPの今とこれから2023
PHPの今とこれから2023PHPの今とこれから2023
PHPの今とこれから2023
 
Mojoliciousをウェブ制作現場で使ってみてる
Mojoliciousをウェブ制作現場で使ってみてるMojoliciousをウェブ制作現場で使ってみてる
Mojoliciousをウェブ制作現場で使ってみてる
 
WebAPIではじめるphp入門
WebAPIではじめるphp入門WebAPIではじめるphp入門
WebAPIではじめるphp入門
 
PHP と SAPI と ZendEngine3 と
PHP と SAPI と ZendEngine3 とPHP と SAPI と ZendEngine3 と
PHP と SAPI と ZendEngine3 と
 
PHPの今とこれから 2013
PHPの今とこれから 2013PHPの今とこれから 2013
PHPの今とこれから 2013
 

More from Yuji Otani

SKYDISCのIoTを支えるテクノロジー
SKYDISCのIoTを支えるテクノロジーSKYDISCのIoTを支えるテクノロジー
SKYDISCのIoTを支えるテクノロジーYuji Otani
 
Hack/HHVMの最新事情とメイン言語に採用した理由
Hack/HHVMの最新事情とメイン言語に採用した理由Hack/HHVMの最新事情とメイン言語に採用した理由
Hack/HHVMの最新事情とメイン言語に採用した理由Yuji Otani
 
Redisの特徴と活用方法について
Redisの特徴と活用方法についてRedisの特徴と活用方法について
Redisの特徴と活用方法についてYuji Otani
 
「技術のインテリジェンスを創る」をどうやって実現するか
「技術のインテリジェンスを創る」をどうやって実現するか「技術のインテリジェンスを創る」をどうやって実現するか
「技術のインテリジェンスを創る」をどうやって実現するかYuji Otani
 
Why choose Hack/HHVM over PHP7
Why choose Hack/HHVM over PHP7Why choose Hack/HHVM over PHP7
Why choose Hack/HHVM over PHP7Yuji Otani
 
PHP7ではなくHack/HHVMを選ぶ理由
PHP7ではなくHack/HHVMを選ぶ理由PHP7ではなくHack/HHVMを選ぶ理由
PHP7ではなくHack/HHVMを選ぶ理由Yuji Otani
 
MariaDB+GaleraClusterの運用事例(MySQL勉強会2016-01-28)
MariaDB+GaleraClusterの運用事例(MySQL勉強会2016-01-28)MariaDB+GaleraClusterの運用事例(MySQL勉強会2016-01-28)
MariaDB+GaleraClusterの運用事例(MySQL勉強会2016-01-28)Yuji Otani
 
PHP7がリリースされたいま、 改めてHackについて考える。
PHP7がリリースされたいま、 改めてHackについて考える。PHP7がリリースされたいま、 改めてHackについて考える。
PHP7がリリースされたいま、 改めてHackについて考える。Yuji Otani
 
FuelPHP × HHVM サービス開発事例
FuelPHP × HHVM サービス開発事例FuelPHP × HHVM サービス開発事例
FuelPHP × HHVM サービス開発事例Yuji Otani
 
Hack言語に賭けたチームの話
Hack言語に賭けたチームの話Hack言語に賭けたチームの話
Hack言語に賭けたチームの話Yuji Otani
 
スタートアップにおける技術チームの作り方
スタートアップにおける技術チームの作り方スタートアップにおける技術チームの作り方
スタートアップにおける技術チームの作り方Yuji Otani
 
Go言語のフレームワークRevelの紹介とサービスにおける活用事例
Go言語のフレームワークRevelの紹介とサービスにおける活用事例Go言語のフレームワークRevelの紹介とサービスにおける活用事例
Go言語のフレームワークRevelの紹介とサービスにおける活用事例Yuji Otani
 
Hack+FuelPHPによるWebサービス開発
Hack+FuelPHPによるWebサービス開発Hack+FuelPHPによるWebサービス開発
Hack+FuelPHPによるWebサービス開発Yuji Otani
 
【初心者向け】Go言語勉強会資料
 【初心者向け】Go言語勉強会資料 【初心者向け】Go言語勉強会資料
【初心者向け】Go言語勉強会資料Yuji Otani
 
NoSQL勉強会資料(2015/03/12@ヒカラボ )
NoSQL勉強会資料(2015/03/12@ヒカラボ )NoSQL勉強会資料(2015/03/12@ヒカラボ )
NoSQL勉強会資料(2015/03/12@ヒカラボ )Yuji Otani
 
Phalcon勉強会資料
Phalcon勉強会資料Phalcon勉強会資料
Phalcon勉強会資料Yuji Otani
 
RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)
RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)
RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)Yuji Otani
 
Redis勉強会資料(2015/06 update)
Redis勉強会資料(2015/06 update)Redis勉強会資料(2015/06 update)
Redis勉強会資料(2015/06 update)Yuji Otani
 
【基礎編】社内向けMySQL勉強会
【基礎編】社内向けMySQL勉強会【基礎編】社内向けMySQL勉強会
【基礎編】社内向けMySQL勉強会Yuji Otani
 
Nginx勉強会
Nginx勉強会Nginx勉強会
Nginx勉強会Yuji Otani
 

More from Yuji Otani (20)

SKYDISCのIoTを支えるテクノロジー
SKYDISCのIoTを支えるテクノロジーSKYDISCのIoTを支えるテクノロジー
SKYDISCのIoTを支えるテクノロジー
 
Hack/HHVMの最新事情とメイン言語に採用した理由
Hack/HHVMの最新事情とメイン言語に採用した理由Hack/HHVMの最新事情とメイン言語に採用した理由
Hack/HHVMの最新事情とメイン言語に採用した理由
 
Redisの特徴と活用方法について
Redisの特徴と活用方法についてRedisの特徴と活用方法について
Redisの特徴と活用方法について
 
「技術のインテリジェンスを創る」をどうやって実現するか
「技術のインテリジェンスを創る」をどうやって実現するか「技術のインテリジェンスを創る」をどうやって実現するか
「技術のインテリジェンスを創る」をどうやって実現するか
 
Why choose Hack/HHVM over PHP7
Why choose Hack/HHVM over PHP7Why choose Hack/HHVM over PHP7
Why choose Hack/HHVM over PHP7
 
PHP7ではなくHack/HHVMを選ぶ理由
PHP7ではなくHack/HHVMを選ぶ理由PHP7ではなくHack/HHVMを選ぶ理由
PHP7ではなくHack/HHVMを選ぶ理由
 
MariaDB+GaleraClusterの運用事例(MySQL勉強会2016-01-28)
MariaDB+GaleraClusterの運用事例(MySQL勉強会2016-01-28)MariaDB+GaleraClusterの運用事例(MySQL勉強会2016-01-28)
MariaDB+GaleraClusterの運用事例(MySQL勉強会2016-01-28)
 
PHP7がリリースされたいま、 改めてHackについて考える。
PHP7がリリースされたいま、 改めてHackについて考える。PHP7がリリースされたいま、 改めてHackについて考える。
PHP7がリリースされたいま、 改めてHackについて考える。
 
FuelPHP × HHVM サービス開発事例
FuelPHP × HHVM サービス開発事例FuelPHP × HHVM サービス開発事例
FuelPHP × HHVM サービス開発事例
 
Hack言語に賭けたチームの話
Hack言語に賭けたチームの話Hack言語に賭けたチームの話
Hack言語に賭けたチームの話
 
スタートアップにおける技術チームの作り方
スタートアップにおける技術チームの作り方スタートアップにおける技術チームの作り方
スタートアップにおける技術チームの作り方
 
Go言語のフレームワークRevelの紹介とサービスにおける活用事例
Go言語のフレームワークRevelの紹介とサービスにおける活用事例Go言語のフレームワークRevelの紹介とサービスにおける活用事例
Go言語のフレームワークRevelの紹介とサービスにおける活用事例
 
Hack+FuelPHPによるWebサービス開発
Hack+FuelPHPによるWebサービス開発Hack+FuelPHPによるWebサービス開発
Hack+FuelPHPによるWebサービス開発
 
【初心者向け】Go言語勉強会資料
 【初心者向け】Go言語勉強会資料 【初心者向け】Go言語勉強会資料
【初心者向け】Go言語勉強会資料
 
NoSQL勉強会資料(2015/03/12@ヒカラボ )
NoSQL勉強会資料(2015/03/12@ヒカラボ )NoSQL勉強会資料(2015/03/12@ヒカラボ )
NoSQL勉強会資料(2015/03/12@ヒカラボ )
 
Phalcon勉強会資料
Phalcon勉強会資料Phalcon勉強会資料
Phalcon勉強会資料
 
RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)
RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)
RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)
 
Redis勉強会資料(2015/06 update)
Redis勉強会資料(2015/06 update)Redis勉強会資料(2015/06 update)
Redis勉強会資料(2015/06 update)
 
【基礎編】社内向けMySQL勉強会
【基礎編】社内向けMySQL勉強会【基礎編】社内向けMySQL勉強会
【基礎編】社内向けMySQL勉強会
 
Nginx勉強会
Nginx勉強会Nginx勉強会
Nginx勉強会
 

Php5 4勉強会

  • 1. PHP5.4勉強会 株式会社シーエーアドバンス 大谷 祐司 Copyright © CyberAgent .inc 2011 1
  • 2. 自己紹介 大谷 祐司(おおたに ゆうじ) -------------------------------------- 株式会社シーエー・アドバンス 技術責任者。 技術大好き、プログラム大好きです。 山口県出身で、現在は東京在住。 沖縄が大好きで毎月来ています。 (ホテルとオフィスの往復がほとんどですが・・・) 9月で32歳になります。 Copyright © CA ADvance .inc 2012 2
  • 3. 自己紹介 参加者の皆さんにも自己紹介してもらいましょう。 Copyright © CA ADvance .inc 2012 3
  • 4. 自己紹介 シーエーアドバンスの社内勉強会を外部解放するというコン セプトで、今日の勉強会は企画されました。 弊社では、定期的に技術に関する勉強会を行っています。 興味を持った方は、「エグジニアブログ」で検索してみ てください。 Copyright © CA ADvance .inc 2012 4
  • 5. 自己紹介 初めての試みですが、失敗を恐れずに頑張ります! 皆さんにとって有意義な勉強会になれば幸いです。 Copyright © CA ADvance .inc 2012 5
  • 6. はじめに ■今日のテーマ 3月に安定板がリリースされたPHP5.4です。 Copyright © CA ADvance .inc 2012 6
  • 7. 今日の内容 以下についてお話しします。 ■PHP5.4の新機能 ■PHP5.3→5.4のバージョンアップについて ■弊社のバージョンアップ事例 Copyright © CA ADvance .inc 2012 7
  • 8. 今日の内容 PHP5.4 もう導入していますか? Copyright © CA ADvance .inc 2012 8
  • 9. PHP5.4の新機能 PHP5.4開発時に、PHP6にするか検討したらしいです。 それくらい大きく変わっていました・・・ Copyright © CA ADvance .inc 2012 9
  • 10. PHP5.4の新機能 新機能がたくさん・・・ ■配列をメソッドチェーンのように参照可能 ■callable配列をそのまま実行可能 ■クロージャの中で$thisが使える ■Traitsのサポート ■配列のシンタックスシュガー ■staticメソッドの可変呼び出し ■callableが型ヒントに使える ■コンストラクタからメソッドチェーンが実行可能 ■ビルトインWEBサーバ 今日はこれらを、詳しく解説します。 Copyright © CA ADvance .inc 2012 10
  • 11. PHP5.4の新機能 ■配列をメソッドチェーンのように参照可能 PHP5.3まではこう書く必要がありましたが、 $a = new A(); $row = $a->foo(); echo $row['name']; PHP5.4だとこう書けばOKです。 $a = new A(); echo $a->foo()['name']; Copyright © CA ADvance .inc 2012 11
  • 12. PHP5.4の新機能 ■ callable配列をそのまま実行可能 callable配列( array(‘class’, ‘method’))を そのまま実行出来るようになりました。 $f = array('Foo','bar'); echo $f('TEST'); Copyright © CA ADvance .inc 2012 12
  • 13. PHP5.4の新機能 ■クロージャの中で$thisが使える php5.3までは、「Fatal error: Using $this when not in object context」が出ましたが、PHP5.4では 問題なく実行されます。 class A { private $value = ‘文字列A'; function single_getter($name) { return function() use ($name) { return $this->$name; }; } } Copyright © CA ADvance .inc 2012 13
  • 14. PHP5.4の新機能 ■Traitのサポート ・Traitとは、クラスの継承関係に影響を与えずクラスに適用で きるメソッドとプロパティの集合です。 ・trait本体は、class XXXのように trait XXX と作成します。呼 び出す際は、クラス内で use XXX と宣言します。 Copyright © CA ADvance .inc 2012 14
  • 15. PHP5.4の新機能 ■Traitsのサンプルコード trait Hello { public function sayHelloWorld() { echo 'Hello'.$this->getWorld(); } abstract public function getWorld(); } class MyHelloWorld { private $world; use Hello; public function getWorld() { return $this->world; } public function setWorld($val) { $this->world = $val; } } Copyright © CA ADvance .inc 2012 15
  • 16. PHP5.4の新機能 ■配列のシンタックスシュガー 他の言語のように配列の簡単な初期化がサポートされます。 PHP5.3まではこう書く必要がありましたが、 $a = array('A', ‘B', ‘C'); $b = array('A' =>‘contentsA', ‘B'=>‘contentsB', ‘C'=>‘contentsC'); PHP5.4だとこう書けばOKです。 $a = ['A', ‘B', ‘C']; $b = ['A' => ‘contentsA', ‘B' => ‘contentsB', ‘C' => ‘contentsC']; Copyright © CA ADvance .inc 2012 16
  • 17. PHP5.4の新機能 ■ staticメソッドの可変呼び出し 波括弧を使いstaticメソッドの呼び出しを可変に出来 ます。 class StaticClass { public static function getName() { return ‘名前'; } } $method = 'getName'; echo StaticClass::{$method}(); //「名前」と表示 される。 Copyright © CA ADvance .inc 2012 17
  • 18. PHP5.4の新機能 ■ callableが型ヒントに使える function hi(callable $f) { echo $f(); } class Human { public function hello() { return “文字1"; } } hi([new Human(), ‘hello’]); //「文字1」が表示される。 $songName = function() { return “文字2"; }; hi($songName); //「文字2」が表示される。 Copyright © CA ADvance .inc 2012 18
  • 19. PHP5.4の新機能 ■コンストラクタからメソッドチェーンが実行可能 class Human{ function __construct($name) { $this->name = $name; } public function hello() { return "Hi " . $this->name; } } // 古い方法 $human = new Human(“文字1"); echo $human->hello(); // 新しい方法 echo (new Human("文字1"))->hello(); Copyright © CA ADvance .inc 2012 19
  • 20. PHP5.4の新機能 ■ビルトインWebサーバ PHPだけでWebサービスを提供できる機能です。起動し たディレクトリが ドキュメントルートになります。 Apacheが持っているSSIなどの機能は使えず、飽くま でPHPを試すためのものです。 Copyright © CA ADvance .inc 2012 20
  • 21. PHP5.4の新機能 かなりたくさんありましたね。覚えるのが大変そうです・・・ 便利な機能も多いので、使いこなせるようになりたいですね! Copyright © CA ADvance .inc 2012 21
  • 22. PHP5.4の新機能 次はPHP5.3→5.4のバージョンアップについて見ていきましょう。 Copyright © CA ADvance .inc 2012 22
  • 23. PHP5.3→5.4のバージョンアップについて ■とりあえず移行ガイドを見てみる。 http://php.net/manual/ja/migration54.php PHP 5.4.x で改良された点のほどんどは、既存のコードに影響 を及ぼしません。 →おぉ、素晴らしい!! Copyright © CA ADvance .inc 2012 23
  • 24. PHP5.3→5.4のバージョンアップについて 移行ガイドを見てみると、下位互換性のない変更点がたくさんあ ります・・・ http://www.php.net/manual/ja/migration54.incompatible.php セーフモード をサポートしなくなりました。セーフモードでの動作を前提とするアプリケーションは、 セキュリティに関する調整が必要となります。 ■マジッククォート が削除されました。 この機能に依存するアプリケーションは、依存しないように修正しないとセキュリティの問題が発生します。 get_magic_quotes_gpc() と get_magic_quotes_runtime()は常に FALSE を返すようになりました。 set_magic_quotes_runtime() を実行すると E_CORE_ERROR が発生 します。 ■ini 設定 register_globals と register_long_arraysが削除されました。 ■呼び出し時の参照渡しをサポートしなくなりました。 ■breakと continueへの引数として、変数は使えなくなりました。つまり、 break 1 + foo() * $bar; などとは書けなくなったということです。 静的な引数を使う のはもちろん可能で、break 2; などは使えます。 この変更の副作用として、 break 0; や continue 0; が使えなくなりました。 ■Date 拡張モジュールにおいて、TZ 環境変数によるタイムゾーンの設定をサポートしなくなりました。 php.ini 設定 date.timezone あるいは date_default_timezone_set()関数でタイムゾーンを指定しなければなりません。 デフォルトのタイムゾーンが設定されていない場合に推測することがなくなり、 未 設定の場合は常に "UTC" とみなして E_WARNING を発生させるようになりました。 ■$a が文字列の場合に非数値のオフセット (たとえば $a['foo']) を指定したときの isset() の返り値は false、 そして empty() の返り値は true となりました。 そして同時に E_WARNING が発生します。オフセットに double や bool そして null を指定した場合は E_NOTICE が発生します。数値とみなせる文字列を渡した場合 ($a['2'] など) の挙動はこれまでと変わりません。 '12.3' や '5 foobar' のようなオフセットは非数値とみなされて E_WARNINGが発生しますが、過去との互換性の ためにそれぞれ 12 および 5 に変換されることに注意しましょう。 次のようなコードの返す値が変わります。 $str='abc';var_dump(isset($str['x'])); // PHP 5.4 以降では false、5.3 以前のバージョンでは true ■配列を文字列に変換しようとすると E_NOTICE が発生するようになりました。 キャストの結果は "Array" で、以前と変わりません。 ■NULL、FALSE あるいは空文字列にプロパティを追加してオブジェクトに変換しようとすると、 これまでのような E_STRICT エラーではなく warning が発生するよ うになりました。 ■スーパーグローバルをパラメータ名として使うと fatal error となります。つまり function foo($_GET, $_POST) {} などのコードは使えなくなります。 ■ハッシュアルゴリズム Salsa10 および Salsa20 が削除されました。 ■array_combine() のパラメータとして空の配列を二つ指定したときの返り値が FALSE ではなく array() となりました。 ■htmlentities() は、アジアの文字に対して使ったときに E_STRICT を発行するようになりました。この場合の htmlentities() の挙動が htmlspecialchars() (こ ちらは以前からそうなっていた) と同じになりました。 Copyright © CA ADvance .inc 2012 24
  • 25. PHP5.3→5.4のバージョンアップについて 特にやばそうなもの。 ■呼び出し時の参照渡しをサポートしなくなりました。 ■$a が文字列の場合に非数値のオフセット (たとえば $a['foo']) を指定したときの isset() の返り値は false、 そして empty() の返り値は true となりました。 そして同時に E_WARNING が発生します。 ■配列を文字列に変換しようとすると E_NOTICE が発生するようになりました。 キャストの結果は "Array" で、以前と変 わりません。 ■NULL、FALSE あるいは空文字列にプロパティを追加してオブジェクトに変換しようとすると、 これまでのような E_STRICT エラーではなく warning が発生するようになりました。 Copyright © CA ADvance .inc 2012 25
  • 26. PHP5.3→5.4のバージョンアップについて シーエーアドバンスでもPHP5.4に取り組もうとしました。 対象は、インターネット広告運用のプラットフォーム。 オレオレフレームワークです。 Copyright © CA ADvance .inc 2012 26
  • 27. PHP5.3→5.4のバージョンアップについて 広告運用プラットフォーム →オレオレフレームワーク。 参照渡しがたくさん→気合いで修正。 Depricatedがたくさん→とりあえず無視。 何とか動くようになったと思ったら・・・ Copyright © CA ADvance .inc 2012 27
  • 28. PHP5.3→5.4のバージョンアップについて 開発機(ローカルWindows)のmemcacheが動かない・・・ PHP5.4版のphp_memcache.dllをネットで探すも見つからず。 →バージョンアップは一旦断念。 残念!!!!! Copyright © CA ADvance .inc 2012 28
  • 29. 総括 許されるなら、早くPHP5.4に切り替えた方が良いと思います。 ・大幅なメモリ使用量の削減 (43%削減されるというデータがあるそうです) ・実行速度のUP (あるテストでは、25%高速化されているという結果も) ・新機能を使うことによる、コード量の削減→見やすいコードに などなど、新しいものには素晴らしい部分がたくさんあります。 Copyright © CA ADvance .inc 2012 29