PHPの歴史

Jun 23, 2016 pm 02:36 PM

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 までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Laravelでフラッシュセッションデータを使用します Laravelでフラッシュセッションデータを使用します Mar 12, 2025 pm 05:08 PM

Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

PHPのカール:REST APIでPHPカール拡張機能を使用する方法 PHPのカール:REST APIでPHPカール拡張機能を使用する方法 Mar 14, 2025 am 11:42 AM

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

Laravelテストでの簡略化されたHTTP応答のモッキング Laravelテストでの簡略化されたHTTP応答のモッキング Mar 12, 2025 pm 05:09 PM

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

Codecanyonで12の最高のPHPチャットスクリプト Codecanyonで12の最高のPHPチャットスクリプト Mar 13, 2025 pm 12:08 PM

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

PHPにおける後期静的結合の概念を説明します。 PHPにおける後期静的結合の概念を説明します。 Mar 21, 2025 pm 01:33 PM

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

フレームワークのカスタマイズ/拡張:カスタム機能を追加する方法。 フレームワークのカスタマイズ/拡張:カスタム機能を追加する方法。 Mar 28, 2025 pm 05:12 PM

この記事では、フレームワークにカスタム機能を追加し、アーキテクチャの理解、拡張ポイントの識別、統合とデバッグのベストプラクティスに焦点を当てています。

フレームワークセキュリティ機能:脆弱性から保護します。 フレームワークセキュリティ機能:脆弱性から保護します。 Mar 28, 2025 pm 05:11 PM

記事では、入力検証、認証、定期的な更新など、脆弱性から保護するためのフレームワークの重要なセキュリティ機能について説明します。

See all articles