1. 利点: オープンソース、無料、高速 [高速プログラム開発、高速実行、高速学習]
1) クロスプラットフォーム、優れたパフォーマンス、Linux/Unix と組み合わせると 45% 優れたパフォーマンスWindows、および LAMP (Linux/Apache/Mysql/PHP) や FAMP (FreeBSD/Apache/Mysql/PHP) などの多くの無料プラットフォームと組み合わせると非常に経済的です。データ アプリケーションが十分に大きい場合は、変更を検討できます。 N 種類のデータベースをサポートする PostgreSQL または Oracle に移行します。 (N >= 10)
2) 構文は単純で、C と Perl を学習していれば簡単に始めることができ、部分的に ASP に似ています。 NuPHPed や Zend Studio などの成熟した開発ツールがあり、Linux プラットフォームでは Eclipse などを使用できます。
3) 現在、WebService、Ajax、XML などの主流のテクノロジーがサポートされており、アプリケーションには十分です。
4) データベース抽象化レイヤーとして ADODB または PEAR::DB を使用する、テンプレート レイヤーとして Smarty またはスマート テンプレートを使用するなど、比較的完全なサポートがあり、PHP 5.1 であれば PDO (PHP Data Object) も使用できます。 ) データベースにアクセスします。
5) MVC をサポートするフレームワーク: phpMVC、ASP.net のようなイベント駆動型イベントをサポートするフレームワーク: Prado、Ruby On Rails のような迅速な開発をサポートするフレームワーク: Cake など、成熟したフレームワークが多数あります。アプリケーションの要件を満たすのに十分です。
6) PHP 5 には、基本的なオブジェクト指向要件に適応できる成熟したオブジェクト指向システムがすでに組み込まれています。大規模なプロジェクトの開発に適しています。
7) PHP 開発をサポートする成熟したコミュニティがあります。
8) 現在、淘宝、Yahoo、163、Sina などの大規模なアプリケーションでは開発言語として PHP が使用されているため、大規模なポータルでは十分だと思います。使用されている。
9) 使用できるオープン ソース フレームワークやオープン ソース システムは数多くあります。たとえば、有名なオープン ソース フレームワークには、Zend Framework、CakePHP、CodeIgniter、symfony などが含まれ、オープン ソース フォーラムには、Discuz!、Phpwind などがあります。 、オープンソースのブログWordPress、Ecshop、ShopExなどのオープンソースのオンラインストアシステム、UCHome、ThinkSNSなどのオープンソースのSNSシステム。
10) 使用コストが低い (linux apache mysql php kernel)
2. 欠点、
1) 関数の名前付けが標準化されていない、キャメルケース方式と降順行、パラメーターの転送位置が異なる
2) 単一thread ; PHP の pthreads 拡張機能は以前から利用可能でしたが、PHP 自体は常に単一プロセス プログラムでした。しかし、十分に安定しておらず、実行中に原因不明のハングアップが発生します。PHP 拡張機能はすべて C で書かれているため、拡張機能にスレッド競合リソース制御の問題があると、全体がハングアップします
3) コア非同期ネットワークはサポートされていません (もちろん、Linux には同期ノンブロッキング ネットワーク モデルのみがあります)。しかし、これが欠けていると、大規模な同時実行に耐えられるネットワーク アプリケーションを開発することが困難になります。従来のネットワーク モデルと IO は両方ともブロックされています。基本的なプログラミングのアプローチは、プロセス (またはスレッド) がユーザーの接続要求に応答するというものです。したがって、何千ものネットワーク接続を必要とするリアルタイム オンライン ゲームのようなタスクを完了することは不可能です。 PHP には、これをある程度補える Libevent および eio 拡張機能もありますが、それほど完璧ではありません。4) Web 開発のみをサポートしており、.exe ファイルやデスクトップ アプリケーションを作成するのは不便です。携帯電話を作るには不便です
5) クローラー、自動実行スクリプト、科学計算プロジェクトには適していませんが、それを実現する方法はたくさんあります。
6) 事後のメンテナンスが難しい。後期のスピードアップ余地はかなり限られている。
Brother Bird [Laruence] の言葉を引用:
PHP がマルチスレッドをサポートしていないと言うのは (これらの人々の 90% は、マルチスレッド モデルと IO 再利用モデルが同等であることを知りません)、PHP がマルチスレッドをサポートしていると言うのは悪いです。非同期をサポートしていない (90% の人は非同期の意味を理解していない)、PHP は敗者のための言語である (99% の人は IQ の優位性を求めているだけ) と言うのを見るたびに最低です。この種の議論では、本当に無力感を感じます。なぜなら、愚かなふりをしている人を賢くすることはできるわけがないからです。