私が答えの根拠とする背景を説明するために、私は6年以上専門的にPHP開発を行い、過去3〜4か月間ASP.NET MVCをいじくり回し、C#を行っています。 PHPプログラミングと同程度のプログラミング。
私にとって、これはPHP対ASP.NETよりもPHP対C#の議論です。
機能/拡張性
ASP.NETがここで成功すると思いますが、これはC#のような言語を使用できるためです。C#は、OOサポートに関してはPHPよりもはるかに優れた言語です。私は静的に型付けされた言語を好む人でもあります(C#4.0で考えても、動的に型付けされた変数を実行できると信じています)。PHPが言語機能に関してC#よりも優れていたのはオプションのパラメーターだけでしたが、それはC#4.0で追加されたもう1つのものです(まだ試していないので、どのように機能するかわかりません)。
セキュリティ
私は、おそらくそれは2つの間の洗浄であると言うでしょう。どちらもセキュリティを支援する機能を備えていると思いますが、最終的にはアプリケーションが安全であることを確認するのがプログラマの仕事です。
フレームワーク
さて、PHPには、ASP.NETよりもはるかに多くのメインストリームフレームワーク(CakePHP、Codeigniter、Symfony、Zend Framework)と他の小さなフレームワークがたくさんあるようです。ASP.NETには、Microsoftの2つの主要なフレームワーク、WebForms(まったくのがらくた)とASP.NET MVC(ASP.NET開発に着手し始めた理由)があります。PHPにはより多くのフレームワークがありますが、ASP.NET MVC 3フレームワークはどのPHPフレームワークよりも優れていることがわかりました。
平均開発時間
PHPの場合、小規模なプロジェクトの開発時間ははるかに優れていると思いますが、プロジェクトのサイズが大きくなるにつれて、C#のスケーラビリティは向上します。
コスト
育てられるべきいくつかはコストです。PHPはこの面で勝ちます。LinuxのMonoでASP.NETを実行できますが、独自の問題があります。
小規模から中規模のプロジェクトを行っている場合やコストが要因である場合は、PHPが優先されます。大規模なプロジェクトを行う場合は、ASP.NET w / C#およびASP.NET MVCを選択します。