TOP比較データ> PHP5の登場
PHP4とJavaのパフォーマンス比較
徹底比較!! PHP & Java

第4回:
PHP5の登場、PHP5とJavaのパフォーマンス比較

著者:ワイズノット  土橋 芳孝   2004/12/10
1  2  次のページ
PHP5の登場

   今年の7月にPHP5が正式にリリースされました。PHP4で利用されているZend Engineにも改良が加えられ、PHP5ではZend Engine2が採用されています。

   2001年7月に発表された「Zend Engine version 2.0: Feature Overview and Design」pdf(PDF:115KB)において目標とされたのはオブジェクト指向機能の大幅な強化でしたが、このZend Engine2を搭載したPHP5は当初の目標を十分に達成したといえるでしょう。

   PHP4と比較して、PHP5の主な改善点をまとめると下記のとおりとなります。
新しいオブジェクトモデル

   PHP4ではオブジェクトの受け渡しの際に値をコピーしていました。つまり、整数型などの基本型と同様、オブジェクトの受け渡しの際にオブジェクト全体をコピーしていたことになります。一方、PHP5ではJavaと同様にオブジェクトの受け渡しの際、ハンドルを利用します。これによってメモリの利用効率が改善されると共にオブジェクト指向機能の強化を実現しています。


抽象クラスや抽象メソッド、インターフェースをサポート

   PHP4では抽象クラスや抽象メソッド、インターフェースを利用できないため仕様と実装を分離することができません。そのため再利用性・拡張性の高いコードを記述することが困難でした。一方、PHP5では抽象クラスや抽象メソッド、インターフェースをサポートしているため、仕様と実装を分離することによって再利用性・拡張性の高いコードを記述することが可能となっています。


アクセス修飾子をサポート

   前回の「Singletonパターンによる比較」で解説しましたとおり、PHP4ではアクセス修飾子がないため、変数やメソッドに対するアクセスを制限できません。一方、PHP5ではJavaと同様に変数やメソッドに対するアクセスをアクセス修飾子によって制限することができます。これによって開発者の意識やスキルに依存しない堅牢なアーキテクチャを実現することが可能となっています。


例外のハンドリングをサポート

   前回の「例外処理による比較」で解説しましたとおり、PHP4では例外をハンドリングすることができないため、例外処理を実現するためにコードの再利用性・拡張性を犠牲にしてしまいます。一方、PHP5ではJavaに似た例外のハンドリングが可能となっておりますので、例外処理を実現することによってコードの再利用性・拡張性を犠牲にすることはありません。

   PHP5も頻繁にマイナーバージョンアップが重ねられ、現在の安定版は9月23日に公開されたPHP5.0.2となっています。また、11月30日にはPHP5.0.3のリリース候補版も公開されています。このようにPHP5も精力的な開発コミュニティに支えられ、今後ますますの発展が期待されます。

1  2  次のページ


ワイズノット
著者プロフィール
株式会社ワイズノット  土橋 芳孝
以前はJavaを利用したWebアプリケーション開発とオブジェクト指向設計を得意としていたが、ワイズノットに入社以来、PHPの魅力にとりつかれる。現在はワイズノットのプロジェクトマネージャーとして、PHPをはじめとしたオープンソースの普及に力を注いでいる。


INDEX
第4回:PHP5の登場、PHP5とJavaのパフォーマンス比較
PHP5の登場
  PHP5のパフォーマンス