Suche senden
Hochladen
Php5 4勉強会
•
Als PPTX, PDF herunterladen
•
4 gefällt mir
•
3,598 views
Yuji Otani
Folgen
Melden
Teilen
Melden
Teilen
1 von 30
Jetzt herunterladen
Empfohlen
あらためてPHP5.3
あらためてPHP5.3
Masashi Shinbara
Fuel php osc tokyo2012
Fuel php osc tokyo2012
Fumito Mizuno
FuelPHPをさわってみて
FuelPHPをさわってみて
Sotaro Omura
CodeIgniter入門
CodeIgniter入門
Sho A
PHPの今とこれから2021
PHPの今とこれから2021
Rui Hirokawa
【SQLインジェクション対策】徳丸先生に怒られない、動的SQLの安全な組み立て方
【SQLインジェクション対策】徳丸先生に怒られない、動的SQLの安全な組み立て方
kwatch
PHPコアから読み解くPHP5.5
PHPコアから読み解くPHP5.5
Yahoo!デベロッパーネットワーク
PHPにおけるI/O多重化とyield
PHPにおけるI/O多重化とyield
Yahoo!デベロッパーネットワーク
Empfohlen
あらためてPHP5.3
あらためてPHP5.3
Masashi Shinbara
Fuel php osc tokyo2012
Fuel php osc tokyo2012
Fumito Mizuno
FuelPHPをさわってみて
FuelPHPをさわってみて
Sotaro Omura
CodeIgniter入門
CodeIgniter入門
Sho A
PHPの今とこれから2021
PHPの今とこれから2021
Rui Hirokawa
【SQLインジェクション対策】徳丸先生に怒られない、動的SQLの安全な組み立て方
【SQLインジェクション対策】徳丸先生に怒られない、動的SQLの安全な組み立て方
kwatch
PHPコアから読み解くPHP5.5
PHPコアから読み解くPHP5.5
Yahoo!デベロッパーネットワーク
PHPにおけるI/O多重化とyield
PHPにおけるI/O多重化とyield
Yahoo!デベロッパーネットワーク
【アシアル塾】PHPオブジェクト指向再入門・第三回Exceptionクラスによる例外処理
【アシアル塾】PHPオブジェクト指向再入門・第三回Exceptionクラスによる例外処理
アシアル株式会社
PHPの今とこれから2014
PHPの今とこれから2014
Rui Hirokawa
15分でCakePHPを始める方法(Nseg 2013-11-09 )
15分でCakePHPを始める方法(Nseg 2013-11-09 )
hiro345
【アシアル塾】PHPオブジェクト指向再入門・第一回クラスとオブジェクト
【アシアル塾】PHPオブジェクト指向再入門・第一回クラスとオブジェクト
アシアル株式会社
Webシステム脆弱性LT資料
Webシステム脆弱性LT資料
Tomohito Adachi
HHVM Hack
HHVM Hack
Masaaki Yonebayashi
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カンファレンス)
Rui Hirokawa
PHP勉強会 #51
PHP勉強会 #51
Takako Miyagawa
omoon.org の裏側 〜FuelPHP の task 活用例〜
omoon.org の裏側 〜FuelPHP の task 活用例〜
Sotaro Omura
Modern PHP Programming @ PFI Seminar
Modern PHP Programming @ PFI Seminar
Sotaro Karasawa
【アシアル塾】PHPオブジェクト指向再入門・第二回クラスの継承と委譲
【アシアル塾】PHPオブジェクト指向再入門・第二回クラスの継承と委譲
アシアル株式会社
実"戦"CakePHP Plugin
実"戦"CakePHP Plugin
Kenichirou Oyama
PHP5.5新機能「ジェネレータ」初心者入門
PHP5.5新機能「ジェネレータ」初心者入門
kwatch
「スピード」と「品質」を実現するPHP開発チームの取り組み~AngularJS+FuelPHP+AspectMock~
「スピード」と「品質」を実現するPHP開発チームの取り組み~AngularJS+FuelPHP+AspectMock~
leverages_event
Hack/HHVM 入門
Hack/HHVM 入門
y-uti
PHPの今とこれから2019
PHPの今とこれから2019
Rui Hirokawa
フラットなPHPからフレームワークへ
フラットなPHPからフレームワークへ
Masao Maeda
40分濃縮 PHP classの教室
40分濃縮 PHP classの教室
Yusuke Ando
SQL上級者こそ知って欲しい、なぜO/Rマッパーが重要か?
SQL上級者こそ知って欲しい、なぜO/Rマッパーが重要か?
kwatch
10分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/12
kenjis
Web技術勉強会 20100925
Web技術勉強会 20100925
龍一 田中
Weitere ähnliche Inhalte
Was ist angesagt?
【アシアル塾】PHPオブジェクト指向再入門・第三回Exceptionクラスによる例外処理
【アシアル塾】PHPオブジェクト指向再入門・第三回Exceptionクラスによる例外処理
アシアル株式会社
PHPの今とこれから2014
PHPの今とこれから2014
Rui Hirokawa
15分でCakePHPを始める方法(Nseg 2013-11-09 )
15分でCakePHPを始める方法(Nseg 2013-11-09 )
hiro345
【アシアル塾】PHPオブジェクト指向再入門・第一回クラスとオブジェクト
【アシアル塾】PHPオブジェクト指向再入門・第一回クラスとオブジェクト
アシアル株式会社
Webシステム脆弱性LT資料
Webシステム脆弱性LT資料
Tomohito Adachi
HHVM Hack
HHVM Hack
Masaaki Yonebayashi
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カンファレンス)
Rui Hirokawa
PHP勉強会 #51
PHP勉強会 #51
Takako Miyagawa
omoon.org の裏側 〜FuelPHP の task 活用例〜
omoon.org の裏側 〜FuelPHP の task 活用例〜
Sotaro Omura
Modern PHP Programming @ PFI Seminar
Modern PHP Programming @ PFI Seminar
Sotaro Karasawa
【アシアル塾】PHPオブジェクト指向再入門・第二回クラスの継承と委譲
【アシアル塾】PHPオブジェクト指向再入門・第二回クラスの継承と委譲
アシアル株式会社
実"戦"CakePHP Plugin
実"戦"CakePHP Plugin
Kenichirou Oyama
PHP5.5新機能「ジェネレータ」初心者入門
PHP5.5新機能「ジェネレータ」初心者入門
kwatch
「スピード」と「品質」を実現するPHP開発チームの取り組み~AngularJS+FuelPHP+AspectMock~
「スピード」と「品質」を実現するPHP開発チームの取り組み~AngularJS+FuelPHP+AspectMock~
leverages_event
Hack/HHVM 入門
Hack/HHVM 入門
y-uti
PHPの今とこれから2019
PHPの今とこれから2019
Rui Hirokawa
フラットなPHPからフレームワークへ
フラットなPHPからフレームワークへ
Masao Maeda
40分濃縮 PHP classの教室
40分濃縮 PHP classの教室
Yusuke Ando
SQL上級者こそ知って欲しい、なぜO/Rマッパーが重要か?
SQL上級者こそ知って欲しい、なぜO/Rマッパーが重要か?
kwatch
Was ist angesagt?
(20)
【アシアル塾】PHPオブジェクト指向再入門・第三回Exceptionクラスによる例外処理
【アシアル塾】PHPオブジェクト指向再入門・第三回Exceptionクラスによる例外処理
PHPの今とこれから2014
PHPの今とこれから2014
15分でCakePHPを始める方法(Nseg 2013-11-09 )
15分でCakePHPを始める方法(Nseg 2013-11-09 )
【アシアル塾】PHPオブジェクト指向再入門・第一回クラスとオブジェクト
【アシアル塾】PHPオブジェクト指向再入門・第一回クラスとオブジェクト
Webシステム脆弱性LT資料
Webシステム脆弱性LT資料
HHVM 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事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)
PHP勉強会 #51
PHP勉強会 #51
omoon.org の裏側 〜FuelPHP の task 活用例〜
omoon.org の裏側 〜FuelPHP の task 活用例〜
Modern PHP Programming @ PFI Seminar
Modern PHP Programming @ PFI Seminar
【アシアル塾】PHPオブジェクト指向再入門・第二回クラスの継承と委譲
【アシアル塾】PHPオブジェクト指向再入門・第二回クラスの継承と委譲
実"戦"CakePHP Plugin
実"戦"CakePHP Plugin
PHP5.5新機能「ジェネレータ」初心者入門
PHP5.5新機能「ジェネレータ」初心者入門
「スピード」と「品質」を実現するPHP開発チームの取り組み~AngularJS+FuelPHP+AspectMock~
「スピード」と「品質」を実現するPHP開発チームの取り組み~AngularJS+FuelPHP+AspectMock~
Hack/HHVM 入門
Hack/HHVM 入門
PHPの今とこれから2019
PHPの今とこれから2019
フラットなPHPからフレームワークへ
フラットなPHPからフレームワークへ
40分濃縮 PHP classの教室
40分濃縮 PHP classの教室
SQL上級者こそ知って欲しい、なぜO/Rマッパーが重要か?
SQL上級者こそ知って欲しい、なぜO/Rマッパーが重要か?
Ähnlich wie Php5 4勉強会
10分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/12
kenjis
Web技術勉強会 20100925
Web技術勉強会 20100925
龍一 田中
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
kenjis
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
kenjis
第21回Creators MeetUp
第21回Creators MeetUp
Kenichi Mukai
今、最もイケてるPHPフレームワークLaravel4
今、最もイケてるPHPフレームワークLaravel4
アシアル株式会社
<第1回>Laravelハンズオンセミナー
<第1回>Laravelハンズオンセミナー
Tatsuyoshi Mashiko
Phpcon tokyo 20120_bigginer
Phpcon tokyo 20120_bigginer
Hideo Kashioka
Traitsについて
Traitsについて
Tetsuji Koyama
Lithium Labo #1
Lithium Labo #1
Yusuke Ando
LaravelでAPI定義を管理する
LaravelでAPI定義を管理する
Kenjiro Kubota
PHP初心者セッション2023 〜ChatGPT時代の簡単な始め方〜
PHP初心者セッション2023 〜ChatGPT時代の簡単な始め方〜
Hideo Kashioka
FuelPHP Osu Nagoya vol.1
FuelPHP Osu Nagoya vol.1
Fumito Mizuno
はじめての FuelPHP
はじめての FuelPHP
Sho A
PHPの今とこれから2017
PHPの今とこれから2017
Rui Hirokawa
PHPの今とこれから2023
PHPの今とこれから2023
Rui Hirokawa
Mojoliciousをウェブ制作現場で使ってみてる
Mojoliciousをウェブ制作現場で使ってみてる
jamadam
WebAPIではじめるphp入門
WebAPIではじめるphp入門
Hiroaki Murayama
PHP と SAPI と ZendEngine3 と
PHP と SAPI と ZendEngine3 と
do_aki
PHPの今とこれから 2013
PHPの今とこれから 2013
Rui Hirokawa
Ähnlich wie Php5 4勉強会
(20)
10分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/12
Web技術勉強会 20100925
Web技術勉強会 20100925
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
第21回Creators MeetUp
第21回Creators MeetUp
今、最もイケてるPHPフレームワークLaravel4
今、最もイケてるPHPフレームワークLaravel4
<第1回>Laravelハンズオンセミナー
<第1回>Laravelハンズオンセミナー
Phpcon tokyo 20120_bigginer
Phpcon tokyo 20120_bigginer
Traitsについて
Traitsについて
Lithium Labo #1
Lithium Labo #1
LaravelでAPI定義を管理する
LaravelでAPI定義を管理する
PHP初心者セッション2023 〜ChatGPT時代の簡単な始め方〜
PHP初心者セッション2023 〜ChatGPT時代の簡単な始め方〜
FuelPHP Osu Nagoya vol.1
FuelPHP Osu Nagoya vol.1
はじめての FuelPHP
はじめての FuelPHP
PHPの今とこれから2017
PHPの今とこれから2017
PHPの今とこれから2023
PHPの今とこれから2023
Mojoliciousをウェブ制作現場で使ってみてる
Mojoliciousをウェブ制作現場で使ってみてる
WebAPIではじめるphp入門
WebAPIではじめるphp入門
PHP と SAPI と ZendEngine3 と
PHP と SAPI と ZendEngine3 と
PHPの今とこれから 2013
PHPの今とこれから 2013
Mehr von Yuji Otani
SKYDISCのIoTを支えるテクノロジー
SKYDISCのIoTを支えるテクノロジー
Yuji Otani
Hack/HHVMの最新事情とメイン言語に採用した理由
Hack/HHVMの最新事情とメイン言語に採用した理由
Yuji Otani
Redisの特徴と活用方法について
Redisの特徴と活用方法について
Yuji Otani
「技術のインテリジェンスを創る」をどうやって実現するか
「技術のインテリジェンスを創る」をどうやって実現するか
Yuji Otani
Why choose Hack/HHVM over PHP7
Why choose Hack/HHVM over PHP7
Yuji Otani
PHP7ではなくHack/HHVMを選ぶ理由
PHP7ではなくHack/HHVMを選ぶ理由
Yuji Otani
MariaDB+GaleraClusterの運用事例(MySQL勉強会2016-01-28)
MariaDB+GaleraClusterの運用事例(MySQL勉強会2016-01-28)
Yuji Otani
PHP7がリリースされたいま、 改めてHackについて考える。
PHP7がリリースされたいま、 改めてHackについて考える。
Yuji Otani
FuelPHP × HHVM サービス開発事例
FuelPHP × HHVM サービス開発事例
Yuji Otani
Hack言語に賭けたチームの話
Hack言語に賭けたチームの話
Yuji Otani
スタートアップにおける技術チームの作り方
スタートアップにおける技術チームの作り方
Yuji Otani
Go言語のフレームワークRevelの紹介とサービスにおける活用事例
Go言語のフレームワークRevelの紹介とサービスにおける活用事例
Yuji Otani
Hack+FuelPHPによるWebサービス開発
Hack+FuelPHPによるWebサービス開発
Yuji Otani
【初心者向け】Go言語勉強会資料
【初心者向け】Go言語勉強会資料
Yuji Otani
NoSQL勉強会資料(2015/03/12@ヒカラボ )
NoSQL勉強会資料(2015/03/12@ヒカラボ )
Yuji Otani
Phalcon勉強会資料
Phalcon勉強会資料
Yuji Otani
RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)
RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)
Yuji Otani
Redis勉強会資料(2015/06 update)
Redis勉強会資料(2015/06 update)
Yuji Otani
【基礎編】社内向けMySQL勉強会
【基礎編】社内向けMySQL勉強会
Yuji Otani
Nginx勉強会
Nginx勉強会
Yuji Otani
Mehr von Yuji Otani
(20)
SKYDISCのIoTを支えるテクノロジー
SKYDISCのIoTを支えるテクノロジー
Hack/HHVMの最新事情とメイン言語に採用した理由
Hack/HHVMの最新事情とメイン言語に採用した理由
Redisの特徴と活用方法について
Redisの特徴と活用方法について
「技術のインテリジェンスを創る」をどうやって実現するか
「技術のインテリジェンスを創る」をどうやって実現するか
Why choose Hack/HHVM over PHP7
Why choose Hack/HHVM over PHP7
PHP7ではなくHack/HHVMを選ぶ理由
PHP7ではなくHack/HHVMを選ぶ理由
MariaDB+GaleraClusterの運用事例(MySQL勉強会2016-01-28)
MariaDB+GaleraClusterの運用事例(MySQL勉強会2016-01-28)
PHP7がリリースされたいま、 改めてHackについて考える。
PHP7がリリースされたいま、 改めてHackについて考える。
FuelPHP × HHVM サービス開発事例
FuelPHP × HHVM サービス開発事例
Hack言語に賭けたチームの話
Hack言語に賭けたチームの話
スタートアップにおける技術チームの作り方
スタートアップにおける技術チームの作り方
Go言語のフレームワークRevelの紹介とサービスにおける活用事例
Go言語のフレームワークRevelの紹介とサービスにおける活用事例
Hack+FuelPHPによるWebサービス開発
Hack+FuelPHPによるWebサービス開発
【初心者向け】Go言語勉強会資料
【初心者向け】Go言語勉強会資料
NoSQL勉強会資料(2015/03/12@ヒカラボ )
NoSQL勉強会資料(2015/03/12@ヒカラボ )
Phalcon勉強会資料
Phalcon勉強会資料
RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)
RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)
Redis勉強会資料(2015/06 update)
Redis勉強会資料(2015/06 update)
【基礎編】社内向けMySQL勉強会
【基礎編】社内向けMySQL勉強会
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
30.
ご清聴ありがとうございました。 Copyright © CA
ADvance .inc 2012 30
Jetzt herunterladen