Pour vous donner une idée de ce sur quoi je me base, je développe le développement PHP professionnellement depuis plus de 6 ans, je joue avec ASP.NET MVC depuis environ 3 ou 4 mois et je fais de la C #. programmation pour aussi longtemps que la programmation PHP.
Pour moi, ceci est plus un argument PHP vs C # qu'un argument PHP vs ASP.NET.
Fonctionnalité / Extensibilité
Je pense qu'ASP.NET l'emporte ici et que c'est davantage grâce à la possibilité d'utiliser un langage comme C #. C # est un langage bien meilleur que PHP avec le support OO. Je suis aussi une personne qui préfère un langage typé de manière statique (même en C # 4.0, je pense que vous pouvez créer des variables dynamiquement typées). La seule chose que PHP avait sur C # en ce qui concerne une fonctionnalité de langage était des paramètres facultatifs, mais c’est une autre chose qui a été ajoutée en C # 4.0 (je ne sais pas si cela fonctionne bien, je ne l’ai pas encore essayé).
Sécurité,
je dirais probablement que c'est un lavis entre les deux. Je pense que les deux ont des fonctionnalités en place pour aider à la sécurité, mais il appartient en dernier ressort au programmeur de s’assurer que leur application est sûre.
Frameworks
Eh bien, PHP semble avoir beaucoup plus de frameworks grand public (CakePHP, Codeigniter, Symfony, Zend Framework) et beaucoup d'autres frameworks plus petits que ASP.NET. ASP.NET dispose de 2 infrastructures principales de Microsoft, WebForms (une pure merde) et ASP.NET MVC (la raison pour laquelle j'ai commencé à me lancer dans le développement ASP.NET). Bien que PHP ait plus de frameworks, je trouve que le framework ASP.NET MVC 3 est meilleur que tous les frameworks PHP.
Durée moyenne de développement
Je pense que pour les petits projets, la durée de développement est bien meilleure en PHP. Cependant, à mesure que la taille de votre projet augmente, C # évolue mieux à cet égard.
Coût
Certains coûts devraient être abordés. PHP gagne haut la main sur ce front. Bien que vous puissiez exécuter ASP.NET sur Mono sous Linux, il présente ses propres problèmes.
Si vous faites un projet de petite à moyenne taille et / ou que le coût est un facteur, PHP gagne. Si vous faites un projet à grande échelle, je choisirais ASP.NET avec C # et ASP.NET MVC.