PHPの歴史

WBOY
WBOYオリジナル
2016-06-23 14:36:46827ブラウズ

PHP は、入れ子の略称で、English Hypertext Preprocessing Language (PHP: Hypertext Preprocessor) の略称です。 PHP は HTML 埋め込み言語であり、Microsoft の ASP によく似ています。どちらも、サーバー側で実行される HTML ドキュメントに埋め込まれたスクリプト言語です。 Web サイトのプログラマーによって広く使用されています。 PHP の独自の構文は、C、Java、Perl、および PHP 独自の革新的な構文を組み合わせたものです。 CGI や Perl よりも高速に動的 Web ページを実行できます。 PHP で作成された動的ページは、他のプログラミング言語と比較して、HTML ドキュメントにプログラムを埋め込んで実行するため、HTML タグを完全に生成する CGI よりも実行効率が高く、同じく HTML に埋め込まれているスクリプト言語 JavaScript と比較して、対照的に、PHP はサーバー側で実行され、サーバーのパフォーマンスを利用して、ユーザーが頻繁にアクセスする PHP プログラムもメモリに保存され、他のユーザーがこのプログラムにアクセスするときにプログラムをコンパイルする必要はありません。メモリ内のコードを直接実行するだけです。これも PHP の効率の高さの表れの 1 つです。 PHP には非常に強力な機能があり、すべての CGI または JavaScript 関数を PHP で実装でき、ほとんどすべての一般的なデータベースとオペレーティング システムをサポートしています。

PHP は、もともと 1994 年に Rasmus Lerdorf によって作成されました。それは、彼自身の Web サイトへの訪問者数をカウントするために Perl 言語で書かれた単純なプログラムとして始まりました。その後、データベースへのアクセスも含めてC言語で書き直されました。最初のバージョンは 1995 年に Personal Home Page Tools (PHP Tools) としてリリースされ、Lerdorf はプログラムを紹介するいくつかのドキュメントを作成し、PHP 1.0 をリリースしました。この初期バージョンでは、ゲストブックや来訪者カウンターなどの簡単な機能が提供されていました。将来的には、PHP を使用する Web サイトがますます増え、ループ ステートメントや配列変数などの機能を追加する必要性が強くなりました。開発チームに新しいメンバーが加わった後、1995 年半ばに PHP 2.0 がリリースされました。 2 番目のバージョンは PHP/FI (フォーム インタプリタ) と呼ばれます。 PHP/FI は mSQL のサポートを追加し、それ以来、動的 Web 開発における PHP の地位を確立しました。 1996 年末までに、PHP/FI を使用する Web サイトは 15,000 ありましたが、1997 年半ばまでに、PHP/FI を使用する Web サイトの数は 50,000 を超えました。 1997 年半ばに、開発チームに Zeev Suraski と Andi Gutmans が加わり、3 番目のバージョンは PHP3 と名付けられ、2000 年に多くの新機能が追加されました。 。

PHP の機能には以下が含まれます:

オープン ソース コード: すべての PHP ソース コードは仮想的に利用可能です。

PHPは無料です。

サーバー側ベース: PHP はサーバー側で実行されるスクリプトであるため、UNIX、LINUX、および WINDOWS で実行できます。

埋め込み HTML: PHP は HTML 言語を埋め込むことができるため、学習は難しくありません。

シンプルな言語: C++ である Java とは異なり、PHP はメイン言語としてスクリプト言語を主張します。

高効率: PHP が消費するシステム リソースは大幅に少なくなります。

画像処理: PHP を使用して画像を動的に作成します

PHP 3 と PHP 4 の比較
PHP3 は Apache サーバーと緊密に統合されており、常に更新され、新機能が追加され、ほとんどすべての主流および非互換性をサポートします。主流のデータベースであり、高速な実行効率と相まって、PHP は 1999 年に 150 万以上のサイトで使用されました。さらに、そのソースコードは完全に公開されており、オープンソース意識の高まりに伴い、この点で主流となっています。新しい関数ライブラリの継続的な追加と継続的な更新の活力により、PHP は UNIX、LINUX、または Windows プラットフォーム上でより多くの新しい関数を搭載できるようになります。プログラミングをより良くサポートする豊富な機能を提供します。

PHP4.0 のスクリプト プログラム全体のコアが大幅に変更され、プログラムの実行速度がより高速な要件を満たすことができるようになりました。最適化後の効率は、従来の CGI または ASP プログラムよりも優れています。さらに強力な新機能とより豊富な機能ライブラリもあります。あなたがそれを受け入れるかどうかに関係なく、PHP は Web CGI の分野に革命を起こすでしょう。プロのWebマスターにとっても必須コースの1つになります。

PHP 4.0 は、より効果的で信頼性の高い動的 Web ページ開発ツールであり、ほとんどの場合、PHP 3.0 よりも高速に実行され、そのスクリプト記述はより強力でより複雑になり、最も重要な機能はレート比の増加です。 PHP 4.0 のこれらの優れたパフォーマンスは、PHP スクリプト エンジンの再設計の結果です。このエンジンは、AndiGutmans と Zeev Suraski によってボトムアップで完全に書き直されました。 PHP4.0 スクリプト エンジンである Zend エンジンは、PHP 3.0 で採用された解析時実行モデルではなく、より効率的なコンパイルおよび実行方法を使用します。

PHP4 は、主に次のようなバージョン 3.0 に基づいて多くの便利な機能を追加または強化しました:

(1) エイ​​リアス: PHP4 では、参照を使用して変数に値を割り当てることができ、プログラミングに大きな柔軟性をもたらします。

(2) 拡張 API モジュール: PHP 4.0 は、古い API バージョンよりも大幅に高速な、拡張 API モジュール用の拡張 PHP インターフェイス モジュールを提供します。 PHP モジュールの既存の最も一般的に使用されるインターフェイスのほとんどは、この拡張インターフェイスを使用するように変換されています。

(3) リソースの自動解放: PHP4 には参照カウント機能が追加されました。この新技術の導入により、PHP4 は自動メモリ管理機能を備え、開発者の負担を軽減します。

(4) ブール型: PHP 4.0 はブール型をサポートします。

(5) プロセス生成: UNIX 環境の PHP 4.0 は、automake/libtool と呼ばれるシステム生成テクノロジを使用して、非常にインテリジェントで多用途な生成プロセスを提供します。

(6) COM/DCOM サポート: PHP 4.0 は、COM オブジェクトにシームレスにアクセスおよびアクセスできる COM/DCOM サポート (Windows 環境のみ) を提供します。

(7) PHP 3.0 との非常に優れた互換性: PHP 4.0 は、PHP 3.0 コードとほぼ 100% の下位互換性があります。 PHP 4 のアーキテクチャが改良されたため、微妙な違いがいくつかありますが、ほとんどの人はおそらくこの状況に遭遇することはないと思われます。

PHP 入門

(8) 構成: PHP4 は PHP を再設計し、強化します。 ini ファイルは PHP を使用して作成されます。 ini を使用して PHP を設定するのは非常に簡単です。このファイルは、実行時に Apache (UNIX システム) または Windows (Windows 環境) によって登録できます。

(9) 暗号化サポート: PHP4 は完全な暗号化を実装しており、これらの暗号化関数は完全な mycrypt ライブラリであり、PHP 4.0 はハッシュ関数をサポートしています。 Blowfish、TripleDES、MD5、SHA1 なども使用できる暗号化アルゴリズムの一部です。

(10) 型チェック: PHP 4.0 は型チェック用に同じ演算子をサポートしています: === (3 等号演算子)。これは 2 つの値とその型の間をチェックします。たとえば、3 ===3 は false (型が異なる) とみなされ、3 ==3 (等しい) は true とみなされます。

(11) FTP サポート: PHP 4.0 は FTP をサポートします。通常は、モデム接続を介して大きなファイルをダウンロードするためのインターフェイスを提供します。ただし、本当に必要な場合は、PHP を使用できます。

(12) PHP4 の新機能または強化された機能: PHP 4.0 では、多くの新機能が追加され、また多くの既存の機能も強化されました。 array_count_values() eval() foreach() nclude() ob_end_clean() ob_end_flush() ob_get_contents() ob_start()strip_tags() unset()

(13) ここでの印刷: PHP 4.0 の ここでの印刷は Perl に似ていますが、全く違います。 HTMLファイルなどの大量の記事を、目次タグなどの文字も欠落させずに印刷する場合に便利な方法をご紹介します。

(14) HTTP セッション フォールバック システム: HTTP セッション管理のフォールバック システムが PHP 4.0 に実装されています。デフォルトでは、セッション識別子は Cookie に保存されます。 Cookie がサポートされていない場合、または Cookie タスクが失敗した場合、セッション ID が自動的に作成され、URL のクエリ文字列に組み込まれます。

(15) ISAPI サポート: PHP 4.0 は、IIS プラグインとしてパーソナライズされた ISAPI モジュールとして使用できます。これは、外部プログラムとして実行される PHP 3.0 よりも効率的です。

(16) メモリ: PHP 4.0 はメモリをより効率的に使用できるため、主に参照カウント テクノロジの実装によりメモリ消費量が削減されます。

(17) 他のクラスのメンバー関数: PHP 4.0 では、メンバー関数自体のスコープまたはグローバル スコープで他のクラスのメンバー関数を呼び出すことができます。たとえば、親関数を子関数でオーバーライドし、子関数内で親関数を呼び出すことができます。

(18) 多次元配列: PHP 4.0 では、GET、POST、Cookie を使用したデータ送信で多次元配列がサポートされています。

(19) パーソナライズされた HTTP セッションのサポート: フォールバック システム管理を含む HTTP セッション処理は、PHP 4.0 の新しいライブラリ関数によって実装されます。バージョン 3.0 でセッションを処理するには、PHPLIB およびサードパーティのライブラリ関数を使用する必要があります。これは、PHP でセッションを直接サポートする場合よりもはるかに時間がかかります。

(20) パーソナライズされた Java サポート: PHP 4.0 は Java との対話をサポートします。このパーソナライズされた Java サポートにより、Java オブジェクトのメソッドを作成および使用するためのシンプルで効率的なツールが PHP に提供されます。

21) オブジェクトとネストされた数値グループ: PHP 4.0 は、より強力なオブジェクトを実装し、PHP 3.0 に存在したさまざまな構文制限を削除します。ニーズに応じて、オブジェクトを配列内でネストしたり、その逆を行うことができます。

(22) オブジェクト指向プログラミング: PHP 4.0 は、オブジェクト指向プログラミングとクラスとオブジェクトの構築のための拡張機能と新機能を提供します。 PHP4 は、オブジェクトのオーバーロードや参照テクノロジなどの新しいテクノロジを実装します。

(23) オブジェクト オーバーロードのサポート: オブジェクト オーバーロード構文により、サードパーティのオブジェクト指向クラス ライブラリが PHP4 のオブジェクト指向機能を使用して独自の関数にアクセスできるようになります。この機能を使用する COM モジュールが実装されています。

(24) 出力バッファリングのサポート: PHP は、出力バッファリング関数のコレクションを提供します。出力バッファリングのサポートにより、圧縮されたバッファーの周囲に関数をラップする関数を作成できます。 PHP4 の出力バッファリングのサポートにより、HTML 本文が出力されるかどうかに関係なく、HTML ヘッダー情報を保存できます。ヘッダー情報 (header()、コンテンツ タイプ、Cookie) はバッファリングされません

(25) PCRE ライブラリの追加: PHP 4.0 には、PHP で動作する通常の正規表現ライブラリに加えて、Perl 互換の正規表現 (PCRE) ライブラリが含まれています。 PCRE 関数のバインド、分割、置換がサポートされています。PCRE と Perl の正規表現にはいくつかの小さな違いがあります。 (26) PHP.ini ファイルは、PHP 4.0 で再設計され、より簡単になりました。すべてのファイルは実行時に (Apache の場合)、または PHP.ini ファイルに構成ディレクティブを追加することで自動的に操作できます (Windows の場合)

(27) 参照カウント: PHP 4.0 が提供します。リソースを含むシステム内のすべての値の参照カウント。リソースがどの変数からも参照されなくなると、そのリソースは自動的に解放されて保存されます。 SQL クエリでは、再帰するたびに別の SQL 結果セットがメモリに繰り返し適用され、これらの結果セットによって占有されていたメモリは、スクリプトが実行されるまで解放されません。変数の値は参照によって変更できます。

(29) 関数の実行時バインディング: PHP 4.0 の実行時バインディング機能を使用すると、関数がコードの後で宣言されたか実行時に宣言されたかに関係なく、関数を宣言する前に関数を呼び出すことができます。

(30) クラス実行時情報: PHP 4.0 は、実行時に次のクラス情報へのアクセスをサポートします: オブジェクトのクラス名、オブジェクトの親クラスのクラス名、およびオブジェクト関数。 ) サーバー抽象化レイヤー: Web サーバーをサポートするための拡張 SAPI (サーバー API) インターフェイスを提供し、PHP 4.0 の不可欠な部分です。このサーバー抽象化レイヤーは、ユニバーサル WEB サーバー インターフェイスのサポートを提供し、マルチスレッド WEB サーバーをサポートし、透過的なサポートを提供します。 Apache、IIS (ISAPI)、AOL サーバーを含むほとんどの WEB サーバー





声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。