1. Avantages
(1) Multiplateforme, performances supérieures, combinées avec Linux/Unix, pas Windows. Les performances sont 45 % supérieures et sont très rentables lorsqu'elles sont combinées avec de nombreuses plates-formes gratuites, telles que LAMP (Linux /Apache/Mysql/PHP) ou FAMP (FreeBSD/Apache/Mysql/PHP si l'application de données est). suffisamment grand, vous pouvez envisager 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.
Recommandations associées : "Tutoriel php"
(5) Il existe de nombreux frameworks matures, tels que les frameworks qui prennent en charge MVC : phpMVC prend en charge les événements pilotés par des événements similaires à ; Frameworks ASP.net : Prado ; des frameworks prenant en charge le développement rapide comme Ruby On Rails : Cake, etc., qui suffisent à répondre aux besoins de vos applications.
(6) PHP5 dispose déjà d'un système orienté objet mature et 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 de PHP.
(8) Actuellement, de nombreuses applications à grande échelle utilisent PHP, telles que Taobao, Yahoo, 163, Sina et d'autres grands portails. Beaucoup utilisent 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, Méthode du cas de chameau et ligne inférieure, la position de transmission des paramètres est différente.
(2) Thread unique ; 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 dispose également d'extensions Libevent et eio, qui peuvent compenser cela dans une certaine mesure, elles ne semblent pas si parfaites.
(4) Prend uniquement en charge le développement Web, il n'est pas pratique de créer des fichiers .exe, des applications de bureau ou des applications mobiles.
(5) Il ne convient pas aux robots d'exploration, aux scripts exécutés automatiquement et aux projets de calcul scientifique. La structure de base de ce langage n'est pas adaptée, bien qu'il existe de nombreuses façons d'y parvenir.
(6) Difficulté dans la maintenance ultérieure. L’espace d’accélération dans la période ultérieure est assez limité.
(7) Mécanisme d’interprétation et de fonctionnement de PHP. Ce mécanisme de fonctionnement permet de recycler toutes les ressources associées après l'interprétation et l'exécution de chaque page PHP. En d’autres termes, PHP n’a aucun moyen de faire résider un objet en mémoire au niveau du langage. En PHP, toutes les variables sont au niveau de la page. Qu'il s'agisse de variables globales ou de membres statiques de la classe, elles seront effacées après l'exécution de la page.
Prenons JSP comme exemple. Dans JSP, la portée de Java Bean a quatre valeurs valides : Page, Application, Session et Request, qui correspondent respectivement aux quatre durées de vie de la page, du programme, de la session et de la requête. . Mais en PHP, il n’y a qu’une seule durée de vie de Page.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!