PHP と ASP.NET の直接対決 1_PHP チュートリアル

WBOY
リリース: 2016-07-13 17:27:02
オリジナル
933 人が閲覧しました

最近の Web 開発に関しては、多くのオプションがあります。これらのメソッドの多くには前処理が含まれます。つまり、コードが含まれていることとそれを処理する必要があることをプリプロセッサに伝える特定のタグを使用して、コードを HTML ページに埋め込みます。 CGI と同様に、これらのコードはサーバー上で実行され、ブラウザに送り返される結果の HTML ページの一部として表示されるコンテンツを返します。オープン ソースのスクリプト言語 PHP と Microsoft の ASP.NET フレームワークの言語は、このカテゴリに分類されます。JavaServer Pages (JSP) と Perl/Mason もこの方法で動作します。 この記事では、Oracle が製品に組み込むことを選択したテクノロジである PHP と ASP.NET に焦点を当てます。両方のさまざまな長所と短所を概説し、開発プロジェクトにどのテクノロジを選択するかを決定するのに役立つ要素に焦点を当てます。考慮すべき要素は数多くあり、プロジェクトごとに異なる手法が使用される場合があります。要約すると、価格、速度と効率、セキュリティ、クロスプラットフォーム サポートなどを並べて比較し、オープンソース ソリューションの利点を確認できます。 ASP.NETとは何ですか? ASP の最新バージョンである ASP.NET は、ソフトウェアが完全に書き直されたため、以前のバージョンの ASP との完全な下位互換性はありません。初期の ASP テクノロジは、実際には、Web アプリケーションを構築するための完全なフレームワークである ASP.NET よりも PHP との共通点がはるかに多かったです。このモデルの主な特徴の 1 つは、プログラミング言語を柔軟に選択できることです。 ASP.NET では、VBScript、JScript、Perlscript、Python などのスクリプト言語だけでなく、VB、C#、C、Cobol、Smalltalk、Lisp などのコンパイル言語も使用できます。新しいフレームワークは共通言語ランタイム (CLR) を使用します。言語のソース コードは Microsoft 中間言語コードにコンパイルされ、CLR によって実行されます。 このフレームワークは、真のオブジェクト指向プログラミング (OOP) も提供し、真の継承、ポリモーフィズム、およびカプセル化をサポートします。 .NET クラス ライブラリは、特定のタスク (XML や画像処理など) に基づいて継承可能なクラスに編成されます。 プログラミング言語やメソッドに加えて、データベースへのアクセスも注目すべき要素です。 ASP.NET でプログラムする場合、ODBC を使用してデータベースを統合できます。ODBC は、ターゲット データベースにアクセスするための一貫した関数呼び出しのセットを提供します。 長所と短所 ASP.NET の長所は、明らかに設計と実装の単純さです。これはオブジェクト指向プログラマーの夢です。言語は柔軟で、複雑なオブジェクト指向機能をサポートします。この意味で、プログラマーの既存のスキルと真に相互運用可能です。 ASP.NET のもう 1 つの利点は、その開発環境です。たとえば、開発者は、WebMatrix (コミュニティでサポートされているツール)、Visual Studio .NET、または Delphi や C++ Builder などのさまざまな Borland ツールを使用できます。たとえば、Visual Studio では、ブレークポイントの設定、コード スニペットのトレース、コール スタックの表示が可能です。全体として、これは複雑なデバッグ環境です。他にも多くのサードパーティ製 ASP.NET IDE ソリューションが登場するはずです。 しかし、堅牢性によって得られるものは、効率性を犠牲にして得られます。 ASP.NET は、主にコード パスが長いため、メモリ使用量と実行時間の点で非常に高価です。 Web ベースのアプリケーションの場合、Web ではアプリケーションが 1 秒あたり数千のユーザーに拡張される可能性があるため、これらの制限は深刻な問題になる可能性があります。メモリ使用量は、Web サーバーでも問題になる可能性があります。 PHPとは何ですか? PHP は、前処理された HTML ページ モデルに基づくスクリプト言語です。 Web サーバーの PHP プリプロセッサが次のような PHP 言語タグを見つけると、PHP エンジンが呼び出されてコードが実行されます。 命令型プログラミング言語を使用したことのあるプログラマーは、PHP についてよく知っているでしょう。 Perl、C、Java 間の構文上の類似点に非常に似ています。厳密に言えば、Java は命令型プログラミング言語ですが、オブジェクト指向の構造と概念も利用しています。 PHP は必要に応じてこの構造を借用していますが、純粋な OOP 言語ではありません。 ASP.NET に関する上記の説明では、ODBC ドライバーと、データベースの抽象化を念頭に置いてアプリケーションを構築する方法について説明しました。 PHP では、ODBC を使用してデータベースと通信することもできるため、サポートされているさまざまなデータベースから選択することができます。 MySQL、Oracle、Postgres 用のネイティブ ドライバーもあります。さらに、Oracle を使用する場合は、Oracle へのアクセスを強化する特別な OCI8 ライブラリがあり、LOB、BLOB、CLOB、BFILE などの機能を使用できるようになります。 この時点で、「なぜデータベース関連のライブラリが PHP の機能と呼ばれるのですか?」と疑問に思われるかもしれません。複数のデータベースを使用するシステムを構築しようとする場合、またはデータベース間で移植性が必要なシステムを構築しようとする場合、データベースの抽象化または独立性は重要な側面です。 、開発から運用まで)アプリケーションを移植する際に考慮すべき要素です。そして、これらは確かに関心を持ち、考慮すべきことです。 しかし、Tom Kyte 氏が新著『Effective Oracle by Design (Oracle Press)』で指摘しているように、テクノロジーへの投資を最大限に活用できるため、データベースへの依存が本当の目標になります。 ODBC または Perl の DBI ライブラリを通じて Oracle に一般的にアクセスできる場合は、他のデータベースにない機能を使用することはできません。さらに、最適化されたクエリはデータベースによって異なります。 Zend Technologies は、PHP に多大な貢献をしてきたビジネス ソフトウェア会社です。洗練されたデバッガー、モニター、その他の機能を備えた Zend Studio と呼ばれる商用開発環境を作成しました。同社はまた、Zend Encoder と連携して PHP コードをコンパイルしてパフォーマンスを向上させる、無料の Zend Optimizer も構築しました。 Zend Performance Suite など、プリコンパイルされた PHP ページをキャッシュして、全体のパフォーマンスをさらに大幅に向上できる商用製品もあります。 長所と短所 Beta 4 の時点でも、PHP 5 には、例外およびイベントベースのエラー処理ルーチンの欠如、つまり通常のプログラム フローを中断してコードを特別なエラー処理セクションにジャンプする機能の欠如など、いくつかの欠点がまだあります。 Java はエラー処理の例外も提供しますが、C++ は try、catch、throw 構文による例外処理を提供します。もちろん、引き続き PHP でエラーを管理することはできますが、その構造は標準化されていないため、プログラマーが独自のツールを使用してエラー処理を実行する方法を決定することになります。これにより、一貫性が低下し、最初からやり直す必要が生じることがよくあります。 もう 1 つの弱点は、PHP 関数名では大文字と小文字が区別されないことです。これは深刻な欠点ではありませんが、一部のプログラマはこの機能を煩わしく感じるかもしれません。 ただし、PHP のオブジェクト モデルについては懸念があります。 PHP は、オブジェクト指向言語として特別に設計されたものではありません。これらの機能の一部は後で追加されましたが、PHP 3 との下位互換性を維持するように注意が払われているため、両方のモデルの機能の一部が残ります。実際、これらの弱点の多くは PHP 5 で解決されています。注目してください。 PHP には一部の領域では欠けていますが、PHP が優れている領域ではすぐにそれを補います。価格もリーズナブルなので、ライセンスの問題を心配する必要はありません。また、オープンソースであるため、コミュニティ全体が開発プロセスを綿密にフォローし、バグが発見されて修正されます。気に入らない機能がある場合は、コードを変更できます。さらに、PHP は Apache と自然に統合され、モジュールとしてコンパイルすることも、Apache バイナリに直接コンパイルすることもできます。 しかし、Apache 上で実行するということは、Apache は Windows、Linux、Solaris、その他さまざまな Unix プラットフォーム上で実行されるため、PHP を使用すると、あらゆるサーバーに行った投資を活用できることを意味します。また、Webサーバーには実績のあるApacheを使用するため、セキュリティを最優先に保つことができます。最後に、PHP のコード パスは小さくなります。これは、PHP ページを解析して実行するサーバー側のコードが少なくなることを意味し、その結果、メモリと使用量がより効率的になり、実行が高速化されます。 PHP 5 の新機能は何ですか? PHP 5 の 4 番目のベータ版は 2003 年 12 月末にリリースされ、変更ログには多くのバグが発見され、削除されたことが明確に示されています。まだテスト中ですが、その新機能と進歩はすべて注目に値します。 PHP 5 の主な新しい成果は、例外処理と、PHP に真の OOP を提供する機能を導入する新しいオブジェクトです。例外処理は間違いなく PHP 4 の最も重大な欠点の 1 つであり、PHP 5 での例外処理の導入は間違いなく成熟の兆しです。例外処理とは、ソフトウェア内に言語定義および標準化されたエラー処理メソッドがあることを意味します。 try、catch、throw メソッドを使用するだけで、PHP コードがより堅牢かつ簡潔になります。 openFile (/home/shull/file.txt); } catch (Exception $myException) { echo $myException->getMessage (); # 残りの例外処理コードがここに } # 残りの青いメソッドがここに ?> 新しいオブジェクト モデルがもたらすPHP で書かれたプログラムに多くのプラスの効果をもたらします。 PHP 4 では、オブジェクトを関数またはメソッドに渡すとき、PHP に明示的に指示しない限り、オブジェクトは値によって渡されます。このプロセスは、オブジェクト (メモリ内のすべてのデータ構造) のコピーを作成する必要があることを意味します。このステップではメモリが使用されるため、アクセスが遅くなり、混雑します。 PHP 5 では、通常、オブジェクトは参照によって渡されます。コンストラクターやデストラクターなど、PHP 5 の新しいオブジェクト指向機能には注目する価値があります。 C++ や Java と同様に、オブジェクトの作成、メモリの割り当て、コンストラクター メソッドおよびクリーンアップを実行するデストラクター メソッドを通じて必要なセットアップを実行するための標準的な方法を提供します。 PHP 5 では、クラス内のメソッドと変数に対するより詳細な制御も導入されています。 PHP 4 では、すべてがパブリックです。クラスの外部または継承されたクラスからクラス内の変数にアクセスできます。 PHP 5 でも変数やメソッドをパブリックにすることはできますが、クラス自体内でのみ使用できるようにプライベートにすることもできます。また、保護することもできます。つまり、メソッドと変数をクラス内またはサブクラス内で表示できます。 さらに、PHP 5 では、型ヒントまたはより優れた型チェックが導入されています。オブジェクトをルーチンに渡すと、PHP はそれが正しい型であることをチェックし、チェックが失敗した場合は型不一致エラーを生成します。他にも静的メソッドや変数、抽象クラスなどの機能があるので、詳しくはドキュメントを確認してください。 (続く)

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/531910.html技術記事最近の Web 開発に関しては、多くのオプションがあります。これらのメソッドの多くには前処理が含まれます。つまり、プリプロセッサに指示する特定のタグを使用して HTML ページにコードを埋め込みます...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!