最近の Web 開発には多くの選択肢があります。これらのメソッドの多くには前処理が含まれます。つまり、コードが含まれていることとそれを処理する必要があることをプリプロセッサに伝える特定のタグを使用して、コードを HTML ページに埋め込みます。 CGI と同様に、これらのコードはサーバー上で実行され、ブラウザに送り返される結果の HTML ページの一部として表示されるコンテンツを返します。オープン ソースのスクリプト言語 PHP と Microsoft の ASP.NET フレームワークの言語は、このカテゴリに分類されます。JavaServer Pages (JSP) と Perl/Mason もこの方法で動作します。
この記事では、Oracle が製品に組み込むことを選択したテクノロジーである PHP と 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 は、前処理された HTML ページ モデルに基づくスクリプト言語です。 Web サーバーの PHP プリプロセッサが次のような 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 ページをキャッシュして、全体のパフォーマンスをさらに大幅に向上できる商用製品もあります。
ベータ 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 コードがより堅牢かつ簡潔になります。
{if (file_exists ($inFile))
{# ここにファイルを開くコード} else {throw new Exception ("Cannot open file:$inFile");
} }}
$blueObj = new blue ();試してください {$blueObj->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 はそれが正しい型であることをチェックし、チェックが失敗した場合は型不一致エラーを生成します。
他にも静的メソッドや変数、抽象クラスなどの機能があるため、詳細については必ずドキュメントを確認してください。
ASP.NET では正式に IIS を使用する必要があります。残念ながら、IIS には長い脆弱性があり、多くの管理者は Web サイトを処理するために IIS を導入することに消極的です。これらの弱点が Microsoft の欠陥によるものであるか、IIS がハッカーの標的であるためであるかは問題ではありません。これらのシステムにはハッキングまたは侵害された歴史があります。 PHP は Apache 上でも実行されます。Apache は高速でオープンソースであり、優れたセキュリティ記録を持っています。さらに、前述したように、Apache は多くのプラットフォームで実行されます。
ASP.NET を検討しているが、インターネット ポータルとして Apache を使用したい場合は、幸いなことに、いくつかのオプションがあります。まず、Apache を使用して、別のマシンで内部的に実行されている IIS にリクエストを転送できます。次に、Apache は静的コンテンツを処理し、aspx コンテンツを IIS サーバーに配信します (インターネットには公開されません)。
ただし、Apache を利用して ASP.NET をホストしたい場合は、Microsoft がサポートする場合とサポートしない場合があるいくつかのオプションが利用可能です。最後のオプションとして、オープンソース モジュールの構築に特化した Ximian の Project Mono があります。詳細については、www.go-mono.com をご覧ください。
PHP または ASP.NET を選択するときに最初に考慮すべきことの 1 つは、データベースへの接続です。ただし、ASP.NET の活用は、多数の代替言語から選択できるため、より複雑になります。もちろん、これらのコード例は HTML ページ、インスタンス化されたクラスなどに埋め込む必要があります。ただし、次の情報は、両方のコーディング スタイルのアイデアを示します。
以下は、PHP 5 を使用して Oracle に接続する方法を示す、Oracle の接続および切断ルーチンを提供する PHP 5 クラスです (他のドライバー (ODBC ドライバーなど) や一般的なデータベース インターフェイスも使用できます)。
クラス oracle_object {
$theDB を保護しました;
保護された $user;
保護された $pass;
保護された $db;
関数 __construct($u, $p, $d) {
$this->ユーザー = $u;
$this->pass = $p;
$this->db = $d;
}
関数 db_open () {
$theDB = @OCILogon($this->user, $this->pass, $this->db);
db_check_errors($php_errormsg);
}
関数 db_close() {
@OCILogoff($theDB);
db_check_errors($php_errormsg);
}
関数 __destruct () {
print (「長いですね...」);
}
}
ASP.NET と Oracle の接続
輸入システム
System.Data をインポートします
System.Data.OracleClientをインポートします
Microsoft.VisualBasicをインポートします
クラスサンプル
パブリック共有サブメイン()
oraConn を OracleConnection = 新しい OracleConnection としてディムします
("データソース=MyOracleServer;統合セキュリティ=はい;")
OracleCommand = 新しい OracleCommand として oraCMD をディム
("DEMO.CUSTOMER から CUSTOMER_ID、名前を選択"、oraConn)
oraConn.Open()
myReader を OracleDataReader = oraCMD.ExecuteReader() としてディムします
Do While (myReader.Read())
Console.WriteLine(vbTab & "{0}" & vbTab & "{1}",
myReader.GetInt32(0)、myReader.GetString(1))
ループ
myReader.Close()
oraConn.Close()
エンドサブ
授業終了
お選びください
まだ PHP を使用することに決めていないと仮定すると、PHP の利点は欠点をはるかに上回っていると言えます。 (表 1 の概要を参照してください。) これらの利点は、価格、速度と効率、セキュリティ、クロスプラットフォームの適用性、およびオープンソースの機会に要約されます。唯一の弱点は、純粋で完璧な OOP 実装がないことですが、これは小さな欠点です。言語構造は確かに役立ちますが、優れたコーディングは最終的には練習、実行、良い習慣、規律から生まれます。
PHPとASP.NETの比較
|
PHP 4 |
PHP5 |
ASP.NET |
ソフトウェア価格 |
無料 |
無料 |
無料 |
プラットフォームの価格 |
無料 |
無料 |
$$ |
スピード |
強い |
強い |
弱い |
効率 |
強い |
強い |
弱い |
セキュリティ |
強い |
強い |
強い |
プラットフォーム |
強い |
強い |
弱い(IISのみ) |
プラットフォーム |
任意の |
任意の |
win32 (IIS のみ) |
ソースコードが提供されているかどうか |
はい |
はい |
いいえ |
例外 |
いいえ |
はい |
はい |
おっと |
弱い |
強い |
強い |
ここでは、単に初期投資 (PHP の場合は明らかに無料) だけでなく、実装、メンテナンス、デバッグのコストも考慮する必要があります。 PHP の場合は、Zend 最適化エンジンを購入することをお勧めします。ただし、ASP の場合は最初から投資が必要で、グラフィック処理を実行するライブラリなどの追加テクノロジーにも料金を支払います。しかし、長期的には、PHP はアップグレードを強制したり、ライセンスの追加料金を請求したりすることはありません。複雑なライセンスを扱ったことのある人なら誰でも、多くの企業がコンプライアンスを確保するためだけに膨大な時間と費用を費やしていることを知っています。また、バグ修正の場合、得られる反応はさまざまです。もちろん、これは時間に換算され、全体的な開発コストに換算されます。
先ほども述べたように、ASP.NET はさまざまなプログラミング言語を使用できるようにするフレームワークです。さらに、優れたオブジェクト指向モデルを備えていると言われています。これらはすべて真実ですが、速度を考慮すると不利になります。これらの理由により、ASP.NET で ASP ページを実行するには、PHP エンジンで同等の PHP ページを実行するよりも多くのコードを実行する必要があります。 PHP は「迅速かつ汚い」ソリューション、つまり仕事を完了するために設計されたソリューションです。バージョン 2.0 および 3.0 以来、多くの強力な機能強化が行われていますが、コアの最適化された高速アプローチは依然として維持されています。
考慮すべき要素は速度だけではありません。メモリ使用量も重要です。
ASP.NET は IIS 上で実行されますが、隔週の IT ニュース報道で確認されているように、IIS は数え切れないほどハッキングされています。実際、これは非常に負担になっているため、その高価な売り込みにもかかわらず、多くの IT プロフェッショナルが依然として IIS Web サーバーでネットワークを開くことを拒否しています。そして、PHP は Apache を使用します。 Apache には、速度、信頼性、強固なセキュリティに関して実証済みの実績があります。詳細については、www.securityfocus.com をご覧ください。
ASP.NET は IIS 上で実行され、Apache 上でも実行され始めました (Apache は多くのプラットフォームで実行できます)。 PHP は Apache と連携できるように最初から設計されているため、実績のある信頼性の高いサーバー プラットフォームを多数の中から選択できます。
オープンソースは、気まぐれなプログラマーやライセンス料を節約したい企業だけのものではありません。ソフトウェア自体のバグに対処する場合、オープンソースはまさに天の恵みとなる可能性があります。
PHP または ASP.NET では、ソフトウェアを使用する大規模なユーザー ベースが存在するため、エラーが発生する可能性があります。 ASP.NET では、これらのバグは公式プロセスを通じて通知され、新しいパッチまたはバージョンで修正、テストされ、削除される必要があります。ただし、PHP パッチはすぐにパッチを適用してリリースできます。オープンソースの開発を目撃した人なら誰でも、新しいバージョンやパッチが商用ソフトウェアのように数週間や数か月ではなく、数日以内に公開されることが多いことを知っています。これが十分に迅速でない場合は、通常、必要に応じて自分で問題にパッチを適用できます。
WEB開発分野におけるPHPの利点
あなたの現在の場所: Duyao Lao--> 技術文書の完全なコレクション ほとんどの WEB 開発者の目には、ASP と JSP が最有力候補とみなされ、PHP は弱い「苦労人」、または追いやられている言語とみなされます。アマチュアの領域では、企業の Web 開発で競争する価値はありません。私の意見では、PHP が候補とみなされない理由は、査読者が PHP や Web 開発に使用される他のオペレーティング システムについて理解していないためです。一部の意見に反して、WINDOWS は WEB 仮想ホスティング サービス市場で最大のシェアを占めなくなり、WEB 開発の分野でも WINDOWS は崩壊しつつあるのではないかと思います。
明らかに、PHP は ASP や JSP に比べてはるかに遅れているため役に立たないと考えられていますが、これは真実ではありません。 PHP はそれ自体が強力な言語です。これは、事実上すべての LINUX ディストリビューションで利用可能であり、MAC OS X でも利用できます。 PHP コードを開発および使用するためのビルディング ブロック ツールとソフトウェアを無料で入手します。 PHP アプリケーションを開発するための商用統合開発環境 (IDES) また、KOMODO (LINUX および WINDOWS 上で実行される) や ZEND STUDIO (このアプリケーションは、実行環境のオペレーティング システム上で JAVA が動作する任意のコンピューター上で実行できます) などのツールもあります。 。サーバーで実行されているオペレーティング システムに関係なく、PHP で構築された Web サイトをほぼすべての Web ホストで実行できるという事実により、PHP はさらに魅力的になります。
PHP の周囲にあるものを少し忘れて、PHP 自体が何を提供できるかを考えてください。これは、かなりの機能を提供し、ページを迅速に提供できる堅牢なサーバー側言語です。
C や PERL、または同様のスタイルと構文を持つ別の言語を使用しているユーザーは、すぐに PHP を使い始めることができます。 Web で使用するように設計されていますが、コマンド ライン言語としても使用できます。あなたが作成している WEB アプリケーションは、特定のコードを毎時間または毎日実行する必要がありますか? CRON または同様のスケジュール マネージャーを使用すると、通常のシェル スクリプトまたはバッチ ファイルを使用してコードを実行し、必要なときに PHP コードが実行されるようにスケジュールできます。イベントを実行するためにブラウザを自動的に呼び出して特定の Web ページを表示する必要はありません。また、特定の時間に特定のコードを実行する必要があることをシステムに伝えるために訪問者のクリックに依存する必要もありません。 PHP がこの分野でスケーラブルであるという事実は、非常に魅力的です。
私は JSP や ASP のベテランではないので、これらの言語を軽視するつもりはありません。代わりに、PHP の利点に焦点を当てます。
PHP を使用すると、Web サイト訪問者にローカライズされたサービスを提供できます。ユーザーがクリックして Web サイトにアクセスすると、Web サイトはブラウザ設定に基づいて自動的に母国語でページを表示します。これは、言語翻訳のための複雑なファイルを使用せずに、GETTEXT と呼ばれるシステムを通じてローカライズされた C プログラムと同じ機能を使用することによって実現されます。要求された言語ファイルが存在する場合、ユーザーに表示されるテキストはそのユーザーの母国語です。言語ファイルが存在しない場合、テキストはデフォルトの英語または指定した他の言語になります。ローカライズされた UNIX アプリケーションの多くは GETTEXT を標準として使用しているため、サードパーティによる翻訳が簡単になります。
PHP は、必要に応じてコマンドライン プログラムのセットアップと実行をサポートします。標準の UNIX DIFF ツールを使用すると、エラーの最終変更と、エラーの所有者に電子メールで送信される現在のコメントとの差分を生成できます。 PHP コードは、システム上に書き込まれた 2 つのファイルに対して DIFF を実行し、その出力を入力として取得し、送信する電子メールを生成します。このメールは PHP 自体を介して送信されます。
上記は私が自分のプログラムで使用している強力な関数のほんの 2 つですが、他にもたくさんあります。たとえば、次のことができます:
シンプルなFLASHアニメーションを即座に作成します。
PDF ドキュメントを即座に作成します。
高度な数学関数とオブジェクト指向プログラミング技術を使用します。
ローカルおよび IMAP メールボックスの読み取りと書き込み。
PHP では標準のインターネット プロトコルを使用できます。 PHP ベースの FTP、WEB、またはニュース クライアントを作成したいですか?問題ない! PHP のみを使用して、標準の TCP/IP ソケットを使用するクライアントとサーバーを作成し、独自のプロトコルを作成できます。
暗号化のサポートとさまざまなデータベース サーバーのサポートを実装します。
トップの Web 開発言語を探して PHP を除外する人は非常に短絡的だと感じます。私は長年、バグ追跡システムのような高度な機能であっても、ヘッダーやフッターの再利用といった日常的な機能であっても、PHP でコードを書いてきました。私は半静的ページとフル機能のマルチメディア プレゼンテーションを PHP で作成しました。 PHP を使用しているのは私だけではありません。 PHP が注目に値しないのであれば、それが単なる子供や愛好家のための言語であるならば、なぜ PHP が Web 開発で最も急速に成長している言語なのでしょうか? ASP や JSP ほど強力ではないのに、なぜトラフィックの多い WEB サイトで使用されるのでしょうか?例えばYAHOOはPHPで構築されているそうです。
ASP と JSP にはそれぞれ独自の強みがあると思いますが、人々が ASP と JSP を使用するのは、PHP よりも強力な機能を提供できるからではなく、すでに ASP と JSP を知っていて、慣れている方法でコードを書きたいからだと思います。 PHP を除外することは、この言語に対する無知を示すだけです。
訳者注: これはドイツ人が PHP について書いた「長いエッセイ」です。記事の中で著者は、PHP は非常に魔法のようなもので、世界を支配する力があると豪語しています。その視点が正しいかどうかは別として、このような古典的な「自慢記事」は、私たち怖いPHPプログラマーにとって非常に読む価値があります。早速、この素晴らしい欺瞞作品を鑑賞してみましょう。
定義: PHP は、シンプル、オブジェクト指向、インタプリタ型、堅牢、安全、非常に高性能、アーキテクチャに依存しない、移植性のある動的スクリプト言語です。 PHP には JAVA と同様の Class キーワードがあります。仮想マシンを必要としないため、JAVA よりも 5 倍高速です。 PHP は、急速に標準の汎用オブジェクト指向スクリプト言語になりつつあります。 PHPはWebアプリケーションだけでなく、一般的なアプリケーションの開発にも使用できます。
PHP は強力なスクリプト言語です。 PHP は PERL/Python を打ち負かし、それに置き換わります。 PHP は、次世代の PERL/Python スクリプトです。 PHP は、PERL/Python が行うあらゆるジョブを実行でき、それをより多く、より適切に、より簡潔に実行できます。 !
PHP は Hypertext Pre-Processor の略称で、サーバーサイドの HTML スクリプト/プログラミング言語です。 PHP は構文的には C に似ており、Apache、Netscape/iPlanet、および Microsoft IIS Web サーバー上で実行できます。 PHP をツールとして使用すると、動的な Web ページを作成できます。 PHP を使用した Web ページは、通常の HTML ページと何ら変わりません。同じ方法で作成および編集できます。 PHP を使用すると、JavaScript に非常に似た単純なスクリプトを HTML ファイルに直接記述することができます。違いは、PHP はブラウザに依存せずサーバー側の言語であるのに対し、JavaScript は HTML に埋め込まれたクライアント側の言語であることです。概念的には、PHP は Netscape の LiveWire Pro 製品、Microsoft の ASP、および SunMicrosystem の JSP に似ています。
PHP は Web アプリケーションの作成だけでなく、通常のスタンドアロン アプリケーションの開発にも使用できます。
PHP の力:
·PHP は最高のテクノロジーです。 PERL、Python、Tcl、VB スクリプト、ASP などの他のテクノロジは比較的古く、劣っています。 Java/JSP も PHP の下にあります。
・オープンソース
·広範なデータベース接続
・豊富な拡張ライブラリ
· 多目的スクリプト言語として、PERL、VB スクリプト、ASP、JSP よりも優れています。
なぜ PHP を選ぶのですか? PHP が最高であるため、その理由は次のとおりです:
·PERL は、そのプログラムが読みにくく、保守しにくく、オブジェクト指向ではないため、「悪趣味」です。 PERL のことは忘れて、PHP に切り替えてください。 PERL プログラマーは PHP に夢中になったために PERL を放棄するでしょう。 PHP は実際には、名前が違うだけの「現代版 PERL」です。
· Java はオブジェクト指向ですが、速度が遅いです。 Java プログラムの動作は非常に遅く、それに関する唯一の不満は「Java はとても遅い」ということです。そして非常に複雑です (JVM、JIT などの多くのレイヤーを使用)。これはしばしば問題を引き起こします。 Linux があるのに、なぜ Java が必要なのでしょうか?
· Python は「優れた」ものですが、Vi エディターでコードを操作するのに非常に便利な C の括弧や中括弧がありません。 vi/emacs エディターのコマンドを使用して括弧/中括弧を検索してコードをすばやく操作できない場合、それは手を失ったようなものです。 PHP は Python よりも技術的に高度です。
· PHP はオブジェクト指向であり、C/C++/Java/PERL のエッセンスを吸収しているため、最高です。 PHP は、PERL、Python、Java、C、C++、awk、Unix シェル スクリプト、Visual Basic およびその他の言語を置き換えることができます。 ! PHP は直接実行され、C で書かれています。
· コンピューター プログラマーなら誰でも、PHP が最高であることを知っています。信じられない場合は、隣のプログラマーに聞いてください。
· 21 世紀、22 世紀、そしてそれ以降を制覇できるのは PHP だけです。
· PERL、Python、Java のプログラマーが PHP に夢中になると思われる非常に重要な理由があります。
過去には、世界中の多くの企業が PHP を「機密性が高く機密性が高い」コンピューター プログラミング言語とみなしていましたが、現在では Web、インターネット、電子商取引、B2B などの多くのプロジェクトで最も有名になりました。オブジェクト指向スクリプト言語を使用します。現在でも、PHP を機密性の高いものとして扱い、外部 (競合他社) に何も明らかにしない競合企業は数多くあります。
PHPは嵐のように全世界を席巻し、IT業界は衝撃を受けるでしょう。 PHP の利点は、クロスプラットフォームでどこでも実行できることです。 Linux、Windows 95/98/NT/2000/XP、Solaris、HPUX、各種UNIXなど。 PHP は一度記述するだけで済み、どこにでもデプロイできます。 PHP は、Apache や Microsoft IIS などのさまざまな Web サーバー上で実行できます。
PHP は Java より 5 ~ 20 倍高速です。 !実際の比較テストでは、PHP は Java よりも約 3.7 倍高速に実行されることが示されています。 PHP は非常に使いやすいので、これを使用すると、非常に複雑な Web、電子商取引、および一般的なスタンドアロン アプリケーションを非常に短時間で迅速に開発できます。 (将来的には、PHP は Java のほとんどの機能を模倣するようになり、Java プログラマーもそれを気に入ると思います。PHP には、class、extends、interface、implements、public、protected、private などの Java のキーワードが含まれるようになるでしょう。など)
PHP には、Java、C++、PERL、C の良い部分を吸収したオブジェクト指向の機能があります。 PHP は間違いなく、すべてのスクリプト/プログラミング言語の中で最高の言語です。間もなく、ここは世界中のプログラマーのメッカとなるでしょう。 PHP は Window95/NT/2000/XP や各種 UNIX 上で動作します。
私たちは驚くでしょう – PHP は 21 世紀のコンピューター プログラミング言語になる可能性が非常に高いです。
Zend Optimizer を使用して PHP をコンパイルおよび最適化し、実行を高速化できます。 Zend Optimizer は PHP4.0 に統合されました。 まず、開発、テスト、デバッグ中に PHP スクリプト言語でアプリケーションを作成します。プロジェクトが完了したら、Zend コンパイラを使用して PHP ファイルをより高速な実行可能プログラムにコンパイルできます。
電子商取引プロジェクトの場合、通常、PHP (70%)、HTML/DHTML/XML (25%)、および 5% の Javascript (クライアント側検証) を組み合わせて使用する必要があります。
PHP は元々 UNIX プラットフォームで実行されていましたが、非常に移植性が高く、Windows や IIS Web サーバーでも実行できます。現在、Windows 2000/NT/95/98 ベースの PHP ユーザーが多数存在し、Windows プラットフォーム上で動作する多数の PHP ツールを見つけることができます。
多くの PHP プログラマーは、Windows でプログラムを開発し、それを IBM ミニコンピューター、Compaq DEC Alpha、Linux を実行する Sun sparc などの大規模な Linux サーバーに展開することを好みます。
PHP の最大の利点は、UNIX/Linux でも実行できることです。UNIX の開発者は MS Windows で PHP ユーザーにサービスを提供でき、Windows で開発された PHP コードはそのまま UNIX/Linux でも使用できます。
PHP 自体は完全に C 言語で書かれているため、BeOS、UNIX、MS Windows、Apple Macintosh、IBM OS/2 およびその他のオペレーティング システムなど、さまざまなプラットフォームで広く実行できます。
PHP は非常に高速に実行され、Java よりもはるかに高速です。 Web 開発の場合、Java/JSP のことは忘れてください。どこでも PHP、PHP、PHP! PHP はまた、多用途のオブジェクト指向スクリプト言語になるでしょう。
・PHPメインサイト: http://www.php.net
·PHP リソース: http://ils.unc.edu/web-db/php/links.html
・PHPコード交換: http://px.sklar.com
・Vex Net: http://www.vex.net/php
多くの国にミラー サイトがあり、URL は www.COUNTRYCODE.php.net です。COUNTRYCODE には us、fe、sk などを指定できます。
・http://www.fe.de.php.net
・http://www.sk.php.net
・http://php.iquest.net/
・Q&Aメールアドレス: rasmus@lerdorf.on.ca
PHP は Microsoft Windows プラットフォームで非常に人気があり、驚くべきことに Microsoft 独自の Web スクリプト言語よりも人気があります。その理由は、PHP はオブジェクト指向のスクリプト言語であるのに対し、ASP はオブジェクト指向ではないためです。 PHP には、再利用可能なクラス (オブジェクト) が多数あります。Windows プラットフォームでは、PHP は ASP よりもはるかに高速で、ASP よりも多くの機能を備えています。 PHP は ASP よりも堅牢で信頼性が高く、強力です。 PHP は MS Windows、Linux、Mac OS、およびすべての UNIX 上で実行できるため、膨大なユーザー ベースを持っています。そして、その最大の利点は、Windows でプログラムを開発してから UNIX/Linux で構成できること、またはその逆ができることです。
Windows98/NT/2000 では、PHP のインストールが非常に簡単であるため、他のオペレーティング システムよりも Windows98/NT/2000 の PHP ユーザーが多くなっています。
PHP には実行可能なインストール プログラムがあります。exe ファイルをダブルクリックするだけで、2 分以内に自動的にインストールされます。実行可能な PHP インストーラーは、次の Web サイトからダウンロードできます:
·Windows での PHP 実行可能インストーラー: http://php.weblogs.com/easywindows
・Windows プラットフォームでの PHP 情報: http://php.weblogs.com
・Windows での PHP のインストールと構成: http://www.php.net/manual/install-windows95-nt.php
·PHP Triad は、Windows プラットフォームに完全な PHP サービス環境をインストールできます: http://www.phpgeek.com
Windows で PHP を実行するには、Web サーバーが必要です。Microsoft の IIS を使用するか、無料の Apache を使用できます。 Apache のインストール ファイル setup.exe を通じてインストールできるため、時間を大幅に節約できます。
PHPTtriad は、Apache、PHP、MySQL を含むソフトウェア パッケージであり、http://www.phpgeek.com/phptriad.php またはそのミラー サイト http://sourceforge.net/projects/phptriad からダウンロードできます。 Windows ユーザーの間で非常に人気のある (何百万回もダウンロードされている) PHPTtriad の使用を強くお勧めします。
Apache バイナリ: http://httpd.apache.org/dist/httpd/binaries/win32
SQL サーバーは、Windows を実行している必要のないマシンにインストールできます。また、Web 開発には SQL サーバーも必要です。 Redhat Linux および PostgreSQL RPM は非常に古い PC (Pentium や 486 など) にインストールすることをお勧めします。データベースには Windows グラフィカル インターフェイスは必要なく、コンソールから直接 PostgreSQL を起動できます。 PostgreSQL は、Oracle および MS SQL サーバーよりも約 3 倍高速です。
PHP の PostgreSQL サポート ライブラリは Adam Sussman によって作成され、彼の電子メール アドレスは: asussman@vidya.com です
Windows NT/2000 をサポートする PostgreSQL は http://www.askesis.nl からダウンロードできます。 PostgreSQL の使用ガイドは、http://www.geocities.com/alavoor/HOWTO/pgsql/PostgreSQL-HOWTO.html で入手できます。
メイン PHP サイト www.php.net のインストール ガイドと手順、またはダウンロードしたパッケージ内の INSTALL ファイルを参照してください。
PHP のオブジェクト指向メカニズムを使用してプロジェクトを実装する手順は次のとおりです:
· まず、データベース SQL サーバーに接続する必要があります - 2 つのオプションがあります:
ADODB (Active Data Objects Database)、動的データ オブジェクト データベース (http://php.weblogs.com/adodb)
メタベース (データベースに依存しないアクセスと管理)、つまりデータベースに依存しないアクセスと管理 (
http://phpclasses.upperdesign.com/browse.htm/package/20)
· 2 番目に、フォーム、テーブル、その他の HTML オブジェクトを作成するには、いくつかの一般的な PHP クラスが必要です。これらは、PHP クラス Web サイト (http://phpclasses.upperdesign.com) から入手できます。当サイトのダウンロードランキング一覧をご参照ください。フォーム クラス、テンプレート クラスなどは、Web サイト http://www.milkywaygalaxy.freeservers.com/ から入手することもできます。
· 3 番目に、これらの共通クラスを継承して独自の PHP クラスを設計および作成します。
・4 番目に、テンプレート クラスを使用して表示スタイルとビジネス ロジックを分離します。http://www.phpclasses.com を参照してください
· 5 番目に、開発には IDE ツールを使用します (PHP IDE セクションを参照)。
· 最後に、コードを簡単に保守して再利用できるように、コードをクラスにカプセル化することが最善です。
· 標準 CGI、FastCGI、および Apache モジュールをサポート - 標準 CGI プログラムとして、PHP は任意の Web サーバーを実行している任意の UNIX マシンにインストールできます。 PHP は新しい FastCGI 標準をサポートしており、このメカニズムにより PHP の速度が向上しました。 Apache モジュールとして構成すると、PHP は非常に強力で超高速な新しい選択肢になります。
・アクセスログ - PHP のログアクセス機能を通じて、ユーザーはクリックとログを維持できます。 この機能は、システムの中央アクセス ログ ファイルを一切使用せずに、リアルタイムのアクセス監視を提供します。ログ閲覧スクリプトは、個々のユーザーが所有する一連のページへの訪問の簡単な概要を提供します。さらに、アクセス情報を表示するために各ページのフッターを生成するようにパッケージを構成できます。記事の最後にある例を参照してください。
· アクセス制御 - アクセス制御を構成できる組み込みの Web ベースの構成「画面」。このようにして、Web ページのすべてまたは一部に対して一連のルールを作成することができるため、これらのページを所有する特定の人が、誰がどのような方法でこれらのページにアクセスできるかなど、自分の Web ページにさまざまな制限を設定できます。これらのページにアクセスする方法。ページを構成するには、顧客のドメイン、ブラウザ、電子メール アドレス、または関連するその他の文書に基づいて、パスワード保護、完全な制限、ログインの無効化など、さまざまな方法があります。
· PostgresSQL のサポート - PostgresSQL は、高度で無料の RDBMS (リレーショナル データベース管理システム) です。 PHP は、PostgresSQL の「SQL クエリ ステートメント」を .html ファイルに直接埋め込むことをサポートしています。
· RFC-1867 ファイル アップロードのサポート - ファイル アップロードは Netscape2.0 の新機能です。ユーザーはファイルを Web サーバーにアップロードできます。
PHP は実際の MIME デコード機能を提供し、ファイルのアップロードを可能にします。 PHP は、受信したアップロード ファイルに対していくつかの便利な処理を実行する追加のフレームワークも提供します。
· HTTP ベースの認証制御 – PHP を使用して、Apache サーバー用のカスタム HTTP ベースの認証メカニズムを作成できます。
· 変数、配列、連想配列 - PHP は、型付き (この単語をどのように翻訳すればいいのかわかりません。専門家に教えていただければ幸いです) 変数、配列、さらには Perl スタイルの連想配列をサポートします。これらは、フォームの GET または POST メソッドを通じて、あるページから別のページに渡すことができます。
· 条件文、while ループ - PHP は、C 言語に似た完全に機能するスクリプト言語です。 if/then/elseif/else/endif 条件ステートメント、および While ループと Switch/case ステートメントを使用して、HTML ページ表示の論理フローを調整できます。
· 拡張正規表現 - 正規表現は、パターン マッチング、パターン置換、および一般的な文字列操作に頻繁に使用されます。 PHP は、一般的な正規表現操作をすべてサポートしています。
· オリジナル HTTP ヘッダー コントロール - Web ページが特定の条件に従ってカスタマイズされたオリジナル HTTP ヘッダーを送信できるようにすることは、一部の高度な Web サイト設計にとって非常に必要です。一般的な使用法は、Location: URL ヘッダーを送信して、クライアントのリクエストを別の URL にリダイレクトすることです。また、キャッシュをオフにしたり、ページの最新の更新された HTTP ヘッダーを操作したりするために使用することもできます。
· GIF 画像の動的作成 - PHP はすでに Thomas Boutell の GD 画像ライブラリをサポートしており、GIF 画像の動的作成を実現できます。
· ISP の「セーフ モード」をサポート - PHP は独自の「セーフ モード」をサポートしており、複数のユーザーが同じサーバー上で PHP スクリプトをより安全に実行できます。
· 新しくリリースされた PHP には、多くの新機能が追加されました。メインの PHP サイトには http://www.php.net からアクセスできます。
·PHPは無料です! ——これが最後の重要な機能です。 PHP パッケージは完全に無料です。 GNU/GPLに準拠しています。このソフトウェアはビジネスまたはその他の目的で使用できます。
PHP は、動的な Web ページを作成するための確立されたサーバー側スクリプト言語です。 Web 専用に設計された言語として、PHP はビジネス組織が切望する多くの機能を提供します。
·短いメンテナンスサイクル
·速い開発時間
·非常に高性能
PHP は、すべての主要なオペレーティング プラットフォーム (UNIX、Windows、さらにはメインフレーム) 上で実行でき、さまざまな一般的なデータベースをネイティブにサポートします。これらすべてにより、PHP テクノロジが Web 開発にとって理想的な選択肢であることがわかります。PHP テクノロジを使用しているオンライン ストアは、数日以内に再利用可能なコードを開発できると主張しています。 C、C++、Java などの言語に精通しているプログラマーは、多くの場合、数時間以内に PHP をプログラミングできることに気づきます。
Intranet Design Magazine が述べているように、PHP は Web 開発用に設計されているという事実により、ユニークな開発ツールとなっています。
「PHP は Web 開発者の真のニーズに基づいて構築されています。他の不格好で負荷の高いメソッドとは異なり、PHP は非常に軽量であり、Web 開発用にカスタマイズされています。他の同様のテクノロジーよりも高速で、複雑な問題をより解決できます。簡単に。」新しいプログラミング言語としての Java は、もともとブラウザに組み込まれたクライアント アプリケーションを実行するために使用されていました。ここ数年、「アプレット」によって明らかになった問題により、Sun や他の Java 開発者はこの言語の新しい解決策を見つけることを余儀なくされました。これらの中で最も顕著なものはサーバー側プログラミングです。これにより、Web サイトがデータベースに接続し、「サーブレット」として知られる他のサーバー側アプリケーションを生成できるようになります。 SUN は最終的に、サーブレットを作成する手段として Java Server Pages (JSP) を導入しました。 PHP と同様に、JSP はさまざまなプラットフォーム間での移植性が高くなります (PHP は 32 ビット以上のプラットフォームをサポートしますが、JSP は Java 仮想マシンがインストールされているプラットフォームでのみ実行できます)。 ただし、プログラミングの背景がない初心者にとっては、言語の複雑さと JSP システムの設計方法が複雑であるため、サーブレットを使用したプログラミングは非常に難しいと感じるでしょう。
JSP のパフォーマンスにも改善の余地がたくさんあります。ZDnet のオンライン出版物 eWeek による最近の調査では、PHP は JSP よりもほぼ 3.7 倍高速に実行されることがわかりました。 JSP は、1 秒あたりに処理できるトランザクション数が非常に少なく、応答速度が非常に遅いため、Web 環境では非常に貧弱なソリューションであると言えます。
ZDnet の eWeek マガジンでも次のように言及されています:
「JSP は比較的新しいテクノロジーです。開発ツール、リソース、人材の点で、まだ完全な市場の成熟度には達していません。」... JSP は Java に基づいており、Java は厳密に型指定された言語であるため、変数の型を宣言し、必要に応じて手動で型を変換する必要があります。このため、JSP はプログラマーにとって習得が最も難しいスクリプト言語の 1 つとなっています。
PHPJavaで動作します JSP は Java オブジェクトにアクセスできる単なる言語であることを認識することが重要です。 PHP は Java を統合することもできます。つまり、PHP は JSP と同様に、Java ロジックを呼び出すことができるスクリプト言語になることができます。ただし、JSP とは異なり、PHP は Microsoft の COM などの他のコンポーネント モデルを呼び出すこともでき、新しいオブジェクト モデルのサポートを追加するのは非常に簡単です。 PHP の拡張機能は無限であることがわかります。一方、JSP は Java に完全に依存しています。
IBM プログラマーの Sam Ruby は、PHP と Java を併用しています。 PHP の Java に対する優れたサポートにより、Java オブジェクトは通常の PHP オブジェクトと同様に透過的に作成および使用できます。
AutionWatch Web サイトでは、あらゆる規模のビジネス グループが動的な入札環境から恩恵を受けることができます。毎月 260 万人以上の訪問者がおり、登録ユーザーは 30 万人を超え、毎月 120 万件のオークションが開催されています。 彼らは Java の使用を試みましたが、より使いやすく、開発がより速いという理由で PHP を選択しました。詳細については、AuctionWatch 販売サービス ディレクターの Ben Margolin (ben@auctionwatch.com) にお問い合わせください。
プログラミング コンサルタントのルーベン ラーナーは、さまざまな言語を比較しました。 PHP に関する彼の考えは次のように要約されます:
「これは学ぶのが簡単な言語です。アーティストや Web デザイナーは自分たちはプログラマーではないと言うかもしれませんが、実際には、Perl と比較して、JavaScript、VBScript などの単純なプログラミング言語を使用することが増えています。 PHP はより形式的で明示的であり、初心者にとっては、PHP は Java よりも簡単に習得できます。実際、PHP は、プログラミングの経験に関係なく、JavaScript に似ています。これは VBScript では可能かもしれませんが、Perl や Java では不可能です...PHP が Web サイトを作成するための非常に強力なシステムであることは不思議ではありません...PHP が強力になると思います。 Java や JSP の競合相手であるため、特定のクライアントや社内プロジェクトには PHP を強くお勧めします。」
PHP: 前進し続けます
JSP には Sun が後援しているため、メディアの注目を集め続けています。しかし、興味深いのは、宣伝キャンペーンがないにもかかわらず、PHP の人気は依然として 8 ~ 11% の割合で増加しており、これはサーバーサイド アプリケーションの月間成長率 4% をはるかに上回っていることです。 650 万のサイトが PHP を使用しています (Netcraft の 2001 年 5 月の調査レポートを参照)。 PHP は Apache サーバーの 39% で構成されており、Perl は市場シェアの 11% を占め、第 4 位となっています。 Apache は Web サーバー市場シェアの 59% を維持しており、Microsoft はわずか 28% で 2 位です (E-Soft Inc./SecuritySpace の 2001 年 5 月の調査レポートを参照)。PHP を使用している有名な企業には、ユニリーバ、フィリップス、NTT、シスコ、日本航空、エア カナダ、ルフトハンザドイツ航空、GE マーケットプレイス、ウォールストリート:オンライン ドイツ、オークションウォッチ、ヴィレッジヴォイック、ダイヤルパッド、BMC などがあります。
1.Intranet Design Magazine: An IT Manager's View of PHP、2000 年 6 月 4 日。
http://linuxtoday.com/news_story.php3?ltsn=2000-06-04-002-04-NW-HL-SW
2.eWEEK: スクリプト言語の高速開発、第 4 号、2000 年 10 月 30 日。
http://www.zdnet.com/eweek/stories/general/0,11011,2646052,00.html
PHPの今後について(3)
6. PHP の簡単な歴史
PHP はもともと Perl で書かれたシンプルでコンパクトな CGI ツールで、後に「Personal Home Page Tools」と呼ばれていました。
以前は「プロフェッショナル ホームページ」とも呼ばれていましたが、現在の最新の名前は
「PHP ハイパーテキスト プリプロセッサ」
SQL クエリ ステートメントを Web ページに非常に簡単に埋め込むことができるツールもあります。このツールは基本的に、SQL クエリ ステートメントを解析し、それに基づいてフォームやテーブルを非常に簡単に作成する別の CGI ツールとみなすことができます。このツールはFI(Form Interpreter、フォームインタープリタ)と呼ばれます。
PHP/FI2.0 は、これら 2 つのパッケージを完全に書き直し、1 つのプログラムにマージします。それは最終的に、HTML ファイルに埋め込まれる単純なプログラミング言語に発展しました。単純なスクリプトを HTML ファイルに直接配置することによる PHP
小さな Perl CGI プログラムを大量に作成する必要がなくなります。 Perl プログラムを複数回呼び出す負荷がなくなるため、Web ページの全体的なパフォーマンスが大幅に向上します。 Web ページの全体的なパフォーマンスが大幅に向上します。 また、Web ページを構成するすべてのコンポーネントを 1 つの HTML ファイルにまとめることにより、大規模なサイトの管理が容易になります。 さまざまなデータベースのサポートが含まれているため、データベースベースの Web ページを非常に簡単に開発できます。 このアプローチは、HTML ファイルと CGI ファイルを個別に作成するよりも簡単であることに、多くの人が同意しています。
現在、PHP/FI は PHP という名前に変更されました。
7.簡単な例
次のようなフォームがあるとします: