PHP1
PHPはもともと高速で実用的なツールキットとして登場しました。 1994 年、Rasmus Lerdorf は、小型で実用的な訪問者追跡システムを Web サイトに追加するために、PHP のプロトタイプを作成しました。これは Perl でラップされたシンプルなツールです。使用効果が満足できなかったため、ラスムスはこのツールを C 言語で書き直しました。
その後、より多くの人がこの軽量でシンプルなプログラムに気づき、より多くの機能を求めるようになりました。 Rasmus は、完全バージョンをリリースすることを決定し、それを Personal Home Page Tools と名付けました。その後、Rasmus は SQL クエリを実行できる FI と呼ばれるツールをリリースしました。
PHP2
1996年にRasmusは基本的に完全なPHPパッケージであるPHP/FI2.0をリリースしました。データベースにアクセスできるだけでなく、HTML ページに埋め込むこともできます。この時点で、PHP/FI2.0 は多くのプログラム開発者を魅了しました。多くのプログラマーの中には、後に PHP3 の創設者となる Zeev Suraski と Andi Gutmans も含まれていました。大規模プロジェクトにおける PHP/FI のパフォーマンスに満足できなかった Zeev と Andi は、大幅な改善を行いました。
PHP3
1998年末に、より優れた実行とより明確な構造を特徴とするPHP3の最初の正式バージョンがリリースされました。さらに、PHP3 の強力な機能はそのスケーラビリティにあります。データベース、プロトコル、API のインフラストラクチャをエンド ユーザーに提供するだけでなく、その拡張性により、多くの開発者が新しいモジュールに参加して提出するようになりました。
このまったく新しい言語は、新しい名前でリリースされました。この名前は、単なる「個人用ホームページツール」という概念に留まらず、より広い意味を持っています。単純な略語「PHP」で名前が付けられます。これは再帰的な略語であり、正式名は PHP: Hypertext Preprocessor です。
すぐに、Zeev Suraski と Andi Gutmans が新しい PHP の開発に投資しました。設計の目標は、プログラムの実行パフォーマンスと PHP 自体のコードのモジュール性を強化することです。
PHP4
新しい PHP コアは「Zend」(Zeev と Andi にちなんで命名) エンジンと呼ばれ、2000 年 5 月に新しいバージョンの PHP4.0 とともにリリースされました。 PHP4 のパフォーマンスは、PHP3 に比べて大幅に向上しています。同じスクリプトを PHP4 で実行すると、パフォーマンスが 10 倍近く向上します。また、Zend が提供するスクリプト オプティマイザーは、ソース プログラムをバイナリでコンパイルされたコードに変換できます。これにより、パフォーマンスが向上するだけでなく、プログラムのソース コードが公開されることも防止されます。
PHP4 にさまざまな Web サーバー (Apache、IIS/PWS、OmniHTTPd など) のサポートが追加されました。さらに、PHP4 には、豊富な配列操作関数、完全なセッション メカニズム、出力キャッシュのサポートなど、いくつかの新しい言語機能も追加されています。 PHP4 は、Adobe PDF、SWF、Java、Microsoft.NET およびその他のテクノロジのサポートなど、一部のクロスプラットフォーム テクノロジの拡張サポートも提供します。
PHP4ではクラスオブジェクトのサポートも追加されています。 PHP4 はこの点では完璧ではありませんが、オブジェクト指向プログラミングのサポートを大幅に改善しています。 PHP4 の Pear ライブラリ (PHP 拡張機能およびアプリケーション リポジトリ) は、オブジェクト指向のアプリケーションと実践の最良の例です。
PHP5
PHP4 は非常に急速に開発されていますが、他の人気のある開発言語と比較すると、いくつかの重要な機能がまだ欠けています。たとえば、PHP4 のオブジェクト指向関数は完全ではなく、例外 (Exception) のキャプチャや実装ができません。処理。したがって、いくつかの特殊な問題に対処するのは依然として困難です。
2004 年 7 月、PHP5 の正式バージョンのリリースは、PHP の新しい時代の到来を告げました。その中核となるのは第 2 世代の Zend エンジンであり、最新の PECL モジュールのサポートが導入されています。 PHP5の最大の特徴は、すべてオブジェクト指向の仕組みを導入し、下位互換性を保っていることです。プログラマは、機能が不足しているクラスを作成する必要がなくなり、さまざまな方法でクラス保護を実装できます。さらに、オブジェクトの統合に関する問題もなくなりました。 PHP5 を使用すると、型ヒントと例外処理メカニズムが導入され、エラーをより効果的に処理および回避できるようになります。