Maison >titres >Une brève discussion sur les avantages et les inconvénients de php

Une brève discussion sur les avantages et les inconvénients de php

无忌哥哥
无忌哥哥original
2018-06-27 16:02:5411771parcourir

1. Avantages : Open source, gratuit et rapide [développement rapide du programme, exécution rapide, apprentissage rapide de la technologie elle-même]

1) Multiplateforme, performances supérieures, combinées avec Linux/Unix Les performances sont 45% meilleures en combinaison avec Windows, et il est très économique de combiner avec de nombreuses plateformes gratuites, telles que LAMP (Linux /Apache/Mysql/PHP) ou FAMP (FreeBSD/Apache/Mysql/PHP) , ou l'application de données est suffisamment volumineuse. Envisagez de passer à PostgreSQL ou Oracle, qui prend en charge N types de bases de données. (N >= 10)

2) La syntaxe est simple, si vous avez appris le C et Perl, elle est facile à démarrer, et elle est en partie similaire à ASP. Il existe des outils de développement matures, tels que NuPHPed, ou Zend Studio, etc., et vous pouvez utiliser Eclipse, etc. sous la plateforme Linux.

3) Actuellement, les technologies grand public sont prises en charge, telles que WebService, Ajax, XML, etc., qui sont suffisantes pour l'application.

4) Il existe un support relativement complet, comme l'utilisation d'ADODB ou de PEAR::DB comme couche d'abstraction de base de données, l'utilisation de Smarty ou d'un modèle intelligent comme couche de modèle. S'il s'agit de PHP 5.1, vous pouvez également utiliser PDO. (PHP Data Object ) pour accéder à la base de données.

5) Il existe de nombreux frameworks matures, comme le framework qui prend en charge MVC : phpMVC, le framework qui prend en charge les événements événementiels comme ASP.net : Prado, le framework qui prend en charge le développement rapide comme Ruby On Rails : Gâteau, etc., suffisant pour les besoins de votre application.

6) PHP 5 dispose déjà d'un système orienté objet mature qui peut s'adapter aux exigences de base orientées objet. Convient pour développer des projets à grande échelle.

7) Il existe une communauté mature pour soutenir le développement PHP.

8) Actuellement, de nombreuses applications à grande échelle utilisent PHP, telles que Taobao, Yahoo, 163, Sina et d'autres grands portails. Beaucoup d'entre elles choisissent PHP comme langage de développement, donc les grands portails peuvent le choisir. je pense que c'est suffisant pour votre usage.

9) Il existe de nombreux frameworks ou systèmes open source qui peuvent être utilisés. Par exemple, les frameworks open source bien connus incluent Zend Framework, CakePHP, CodeIgniter, symfony, etc., les forums open source incluent. Discuz !, Phpwind, etc., et le blog open source WordPress, les systèmes de boutique en ligne open source tels que Ecshop, ShopEx, etc., et les systèmes SNS open source tels que UCHome, ThinkSNS, etc.

10) Faible coût d'utilisation (noyau Linux Apache MySQL PHP)

2 Inconvénients,

1) La dénomination des fonctions n'est pas standardisée dans le cas Camel. méthode et lignes coulissantes, les positions de transfert des paramètres sont différentes, vous savez

2) PHP lui-même, PHP a toujours été un programme à processus unique bien que l'extension pthreads de PHP soit disponible depuis longtemps ; Mais il n'est pas assez stable et il raccrochera inexplicablement lors de son exécution ; les extensions PHP sont toutes écrites en C, ce qui signifie que toute extension présentant des problèmes de contrôle des ressources de concurrence de threads peut provoquer le blocage de l'ensemble

3. ) Le réseau asynchrone principal n'est pas pris en charge (bien sûr, il n'existe qu'un modèle de réseau synchrone non bloquant sous Linux). Mais l’absence de cela rend difficile le développement d’une application réseau capable de supporter une grande concurrence. Les modèles de réseau traditionnels et io bloquent. L'approche de programmation de base est qu'un processus (ou thread) répond à une demande de connexion utilisateur. Par conséquent, il est impossible d’accomplir des tâches telles que des jeux en ligne en temps réel qui nécessitent des milliers de connexions réseau. Bien que PHP ait également des extensions Libevent et eio, qui peuvent compenser cela dans une certaine mesure, elles ne semblent pas si complètes

4) Il ne prend en charge que le développement Web et il n'est pas pratique de créer un fichier .exe. des fichiers ou des applications de bureau. Il n'est pas pratique pour créer des programmes de téléphonie mobile

5) Il ne convient pas aux robots d'exploration, aux scripts exécutés automatiquement et aux projets de calcul scientifique. il existe de nombreuses façons de le mettre en œuvre.

6) Difficulté en post-maintenance. L’espace d’accélération dans la période ultérieure est assez limité.

Citer Brother Bird [Laruence] :

Dire que PHP ne supporte pas le multi-threading (90% de ces personnes ne savent pas que le modèle multi-threading et le modèle de réutilisation des IO sont équivalent), c'est nul. Dire que PHP ne prend pas en charge l'asynchrone (90 % de ces personnes n'ont aucune idée de ce que signifie asynchrone), c'est nul de dire que PHP est un langage pour les perdants (99 % de ces personnes veulent juste rechercher la supériorité du QI). , c'est nul. Chaque fois que je vois ce genre de chose Concernant la dispute, je suis vraiment impuissant, car il n'y a aucun moyen de faire devenir intelligente une personne qui fait semblant d'être stupide.

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn