ホームページ > バックエンド開発 > PHPチュートリアル > 高度な Web テクノロジ - PHP_PHP を使用した Web サイトの構築チュートリアル

高度な Web テクノロジ - PHP_PHP を使用した Web サイトの構築チュートリアル

WBOY
リリース: 2016-07-13 17:21:42
オリジナル
816 人が閲覧しました

Web サイトを構築する場合、ほとんどの場合、静的な Web ページへのアクセス機能を提供するだけでなく、ブラウザ ユーザーと対話したり、リアルタイムの更新情報を提供するためにバックエンド データベースにアクセスしたりすることも必要になります。動的な Web ページ サービスを提供するために必要です。このとき、従来の CGI を選択するべきでしょうか、それとも PHP や ASP などのサーバーサイド スクリプトを選択するべきでしょうか?

■CGIからサーバーサイドスクリプトへ

動的Webページを作成する標準的な方法はCGIです。これにより、Webサーバーはブラウザのリクエストに応じてCGIプログラムを実行できます。単純な CGI 標準に準拠することを除けば、CGI プログラムの開発は通常のプログラムの開発と何ら変わりません。ただし、生成される動的 Web ページの数と複雑さが増加するにつれて、このアプローチは困難に直面します。

CGIプログラムには大きく2つの部分があり、1つはプログラムコード、もう1つは出力されるHTML文書の内容(HTMLコードと呼ぶこともできます)です。初期の Web 開発者はプログラマーと Web デザイナーの両方を兼ねていましたが、当時の開発者が最も関心を持っていたのはプログラム コードであり、ページ コードは基本的にあまり調整する必要がありませんでした。 DHTML や JavaScript などの技術の発展により、ページは非常に複雑に設計できるようになりましたが、さまざまな CGI プログラム ライブラリの登場により、プログラム コードは非常に単純になりました。このように、ページコードを調整するたびにCGIプログラムの修正が必要となり、最終的にはCGIプログラムのデバッグ作業において、プログラムコードのデバッグ作業量よりもHTMLコードのデバッグ作業量の方が多くなってしまう。これは、Web 開発において HTML コードの重要性が非常に明らかになり、プログラム コードを中心とした従来の CGI プログラムが動的な Web ページを処理する最適な方法ではなくなっていることを示しています。

このように、特にインターネットの商用化に伴い、CGI プログラムを書くことと HTML ページをデザインすることは、この種の HTML コードを調整する作業にうんざりしているプログラマーが少なくありません。この問題を解決するために、プログラマーはまずテンプレート ファイル方式を使用してプログラム コードと HTML コードを分離し、CGI プログラムがテンプレート ファイルを読み取って HTML コードを取得するようにしました。これにより、ページに微調整を加える必要がなくなりました。 CGI プログラムを変更します。

基本的にプログラマーは自分のCGIプログラムでカスタマイズしたテンプレートを使用しますが、汎用のHTMLテンプレートがあり、前処理に汎用のプログラムを使用すれば、プログラム設計の負担は大幅に軽減されるのではないでしょうか?最も単純なテンプレートは、テンプレート内の事前定義された変数を置き換えることで解釈作業を完了できます。このプログラムは、Web サーバーに統合されており、CGI プログラムよりも高い効率を実現します。

ncsa httpd に登場した SSI などの初期のサーバーサイド スクリプトには、変数の概念のみが含まれており、制御ステートメントの概念は含まれていませんでした。その後、さまざまなプログラム開発者が、制御ステートメントやサブルーチンさえもサポートするスクリプト解釈処理プログラムを再開発しました。これにより、これらのプログラムは、特定の動的な Web ページにサービスを提供するだけでなく、プログラミングもできるようになり、CGI プログラムが実行できるすべてを完了できるようになりました。 . 仕事は新しいプログラミング言語になりました。また、パフォーマンス上の理由から、これらのプログラムは Web サーバー自体に組み込まれ、Web 開発の新しい形式になりました。

■ オープンリソースからの PHP

現在、サーバーサイドスクリプトは動的 Web ページを開発する一般的な方法となっていますが、CGI には依然として柔軟性という利点がありますが、一般的にはサーバーサイドスクリプトを使用する方が簡単で便利です。 。ただし、CGI とは異なり、サーバーサイド スクリプトには統一された標準がなく、さまざまなサーバーサイド スクリプトが独自の構文を使用します。現在、より一般的に使用されているものは、Active Server Pages (ASP)、ColdFusion、Java Servlets、Personal Home Page (PHP) などです。これらの技術には、ASP などの大企業がサポートするソフトウェアと、PHP などインターネットを介して共同開発されたオープンソース ソフトウェアの両方が含まれます。

PHP は、もともと Rasums Lerdorf によって書かれた、彼自身の Web ページへの訪問者を記録するための単純な CGI プログラムでした。その後、C言語で書き直され、データベースにアクセスできるように範囲が拡張されました。この期間中、多くの人が、自分で使用するためにこのプログラムのコピーを Rasums Lerdorf に求め、このプログラムを紹介する文書を作成し、PHP v1.0 をリリースしました。その後、PHP を使用する人が増え、ループ ステートメントや配列変数などの他の機能の追加を強く求めるようになりました。このとき、他のプログラマーも PHP のソース コードの作成に参加し、PHP を書き直しました。 v3.0が登場しました。現在、PHP を使用する Web サイトは 800,000 を超え、その数は今も増え続けています。

動的なWebページをブラウザに送信することに加えて、PHPはさまざまなHTTPヘッダー識別子を送信することもでき、Webページの再配置、Webサーバーのセキュリティ認証と組み合わせる機能、およびCookieの設定を提供できます。 PHP は、MySQL、Sybase、Informix、Oracle、MsSQL などのさまざまなデータベースと直接相互接続する機能を提供し、ODBC もサポートします。また、追加のライブラリを通じてセッション管理と XML 処理をサポートできます (これらのライブラリは基本ライブラリであるため、PHP ユーザーの基本構成でもあります)。ここから、PHP はもはや単純なサーバーサイド スクリプトではないことがわかります。「PHP3 ブラウザ アプリケーション プログラミング」の著者である David Medinets 氏によると、PHP はアプリケーション サーバーです。 PHP には完全なプログラミング言語が含まれているだけでなく、データベースにアクセスし、インターネット プロトコル (電子メールや HTTP など) をサポートする完全な機能も含まれているため、PHP は ASP、ColdFusion、WebSphere よりも短くなります。

PHPを実行するには、通常、オペレーティングシステムとしてLinuxまたはFreeBSDが使用され、WebサーバーとしてApacheが使用されます。もちろん、PHP はクロスプラットフォーム ソフトウェアであるため、他のオペレーティング システムを使用することも可能です。もちろん、オープン ソース ソフトウェアであるという利点もあります。ただし、Apache サーバーを使用しない場合、PHP は CGI モードでのみ実行できるため、PHP を Apache にコンパイルすることによるパフォーマンスの利点を活用できません。 www.php3.net から PHP の最新バージョンをダウンロードし、インストールと構成を完了したら、エディターまたは Web ページ作成ソフトウェアを使用して PHP コードを作成できます。 C または Perl を使用してプログラミングできる場合、PHP プログラミングはプログラミング言語としては複雑ではないことがわかります。PHP は C よりも単純で、Perl よりも理解しやすいです。以下は、PHP プログラムを埋め込んだ最も単純なページです。

このニュースには合計 2 ページがあり、現在 1 1 2
のページにあります


テスト





こんにちは。 ,〈?php echo $string ?〉〈/H1〉

〈/BODY〉

〈/HTML〉

HTML Web ページに埋め込まれた PHP コードはタグで終わる必要があります。上のページには、Hello, world! の結果が表示されます。ここで、PHP プログラムの構文が C または Perl に非常に似ていることがわかります。実際、PHP は C と Perl から派生しており、C と Perl の構文と演算子のほとんどをサポートしているため、C と Perl の両方のプログラマにとって PHP の使用は非常に簡単です。


■PHPを選ぶ

PHPは非常に普及していますが、中国ではそれを知っている人がほとんどいません。これはもちろん、商用ソフトウェアではなく、市場運営が不足しているためです。 PHP について聞いたことがある人の中にも、PHP には商用企業のサポートがなく、ASP などの商用ソフトウェアと同じ将来があり得るのかという意見も多くあります。実際、Microsoft の支援により ASP は急速に普及し、現在書店には ASP 関連の書籍が溢れていますが、PHP を紹介する書籍はほとんど見つかりません。これが中国での人気の傾向を示しています。しかし、過去 1 年間で PHP ユーザーがインターネット全体で着実に増加しているという事実は、これらの見方とは正反対です。 PHP を評価しない人は、少なくとも次の理由を無視していると思います:

1. PHP は、非常に高いパフォーマンス、信頼性、安定性を備えた非常に実用的なソフトウェアであることが証明されています。武侠小説の比喩を借りると、PHP は次のとおりです。世界の下層階級出身の無謀な英雄が一歩ずつ有名になるのに対し、商用ソフトウェアは高貴な生まれの若い騎士のようなものです 彼の名声の理由は彼の主と彼の宗派に密接に関係しています。 PHP にはさまざまなデータ型があり、複雑なテキスト処理もサポートしており、さらに重要なことに、PHP のこれらの機能は非常に実用的であることを開発者は知っておく必要があります。あなた自身のニーズに応じて自発的に、その機能は実用的な用途を持っていなければなりません。 PHP が類似製品よりも優れているとは言えませんが、その強みは無視できません。

2. PHP は、さまざまな Unix や Windows NT 上で実行でき、さまざまなデータベースにアクセスできることは、多くの人にとって非常に重要です。商用製品は多くの場合、要求が非常に高く、特定のオペレーティング システムとデータベースでのみ動作します。そして人々は、Linux、Apache、MySQL など、すでに使い慣れているオペレーティング システム、Web サーバー、データベースを使用することを好みます。

3. PHP はオープンソース ソフトウェアであることに同意しない人も多いですが、Web サーバー市場の 58% を占める Apache サーバーは無視され、Linux や FreeBSD などのオープンソース オペレーティング システムも無視されます。ソース オペレーティング システム ソフトウェアを組み合わせることで、非常に効果的なソリューションが実現します。

4. ソースコードを考慮しなくても、PHP は料金がかからず、商用ソフトウェアの比ではありません。 ASP も無料ですが、Windows NT や MS SQL は Linux/FreeBSD、Apache、MySQL と連携しており、著作権侵害を考慮しなければソフトウェアのコストはほとんどかかりません。まだ ASP を使い続けますか?

5. PHP には優れた技術サポートがあり、電子メール、フォーラム、Web ページ、IRC などを通じて入手できます。これは、商用ソフトウェアのテクニカル サポートよりも効果的ではないでしょうか。実際、商用ソフトウェアとオープンソース ソフトウェアを使用した私の個人的な経験に基づくと、この形式の技術サポートは非​​常に優れています。ASP 開発チームから技術サービスを受けることができるでしょうか。より一般的な結果は、800 番電話をした後、役に立たないアドバイスばかりを受け取り、最終的にはそのやり取りにうんざりしてしまうことだと思います。オンサイトサービスであっても、システムが誤って正常に動作するまで、エンジニアが何度もシステムを再インストールする可能性があります。これにより、システム管理者は少なくとも何も理解していないふりをすることができます。オープンソース コードを使用すると、同じ現象に遭遇したユーザーだけでなく、PHP 開発者もヘルプを提供できるため、障害の本質に近い現象を提案できます。何十万ものユーザー (そのほとんどが PHP の使用に慣れているベテラン) によって提供されるサポートよりも効果的なテクニカル サポートはありません。

いずれにしても、商用サポートはソフトウェアが普及するための必須条件ではありません。最近の例では、Linux が人気があるために商用サポートを受けています。たとえば、Web ページ作成ツールの最新バージョン DreamWaver 3.0 では、PHP タグのサポートも開始され、PHP コードを直接記述できるようになりました。ますます多くの国内 Web 開発者が に注目し始めています

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/532430.html技術記事 Web サイトを構築する場合、ほとんどの場合、静的な Web ページへのアクセス機能を提供するだけでなく、ブラウザ ユーザーと対話したり、バックエンド データベースにアクセスしてリアルタイムの更新を提供したりすることも必要になります...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート