PHPはどのように動くのか ~PHPコアから読み解く仕組みと定石
この本の概要
同じようなスクリプトなのに,なぜパフォーマンスが違うのか?
オブジェクト指向だと,なぜ遅いのか?
PHP7は,なぜ速くなったか?
最も人気のあるWeb用プログラム言語であるPHPの知られざる内部構造を解説した,日本初の書。「メモリを節約したり,処理を軽くしたりするスクリプトを書くには」「パフォーマンスの高いExtensionを作るには」「Zend Engineをハックするには」といった,ほかにはない話題が満載です。
こんな方におすすめ
- PHPの仕組みを知り,定石やパフォーマンスの背景について理解を深めたい中上級者
目次
第1章 なぜ,同じようなスクリプトなのにパフォーマンスが違うのか
スクリプトの良し悪しは何で決まるのか
- 処理速度はスクリプトの前後の文脈に依存する
- 内部構造を知ることが正確な判断への手がかり
- 処理速度を計測するには
- 論理の判断
スクリプトを比較する
- forの最大値が変数 vs. 関数
- 条件分岐 if else vs. 三項演算子
- 比較演算子 == vs. ===
- エラー制御演算子がない vs. ある
- 連想配列の添え字がクォートなし vs. シングルクォート
- PHPのバージョン取得 phpversion() vs. PHP_VERSION
- 標準出力 print() vs. echo()
- echoに渡す引数 カンマ vs. ドット
第2章 オペコードのパフォーマンスを考える
プログラムが実行される仕組みをおさえる
- オペコードはどのように生成され,実行されるか
- 字句解析と構文解析で行われること
- オペコードが実行されるまでの流れをつかむ
- コンパイル処理の流れをおさえる
- どのようにしてオペコードが演算されていくのか
パフォーマンスに影響するオペコードをおさえる
- 型によるパフォーマンスの違い
- 代入によるパフォーマンスの違い
- 関数や引数の処理によるパフォーマンスの違い
- 特殊な処理によるパフォーマンスの違い
- 他