Heim >Schlagzeilen >Eine kurze Diskussion über die Vor- und Nachteile von PHP
1. Vorteile: Open Source, kostenlos und schnell [schnelle Programmentwicklung, schnelle Ausführung, schnelles Erlernen der Technologie selbst]
1) Plattformübergreifend, überlegene Leistung, kombiniert mit Linux/Unix Die Leistung ist in Kombination mit Windows um 45 % besser und die Kombination mit vielen kostenlosen Plattformen wie LAMP (Linux /Apache/Mysql/PHP) oder FAMP (FreeBSD/Apache/Mysql/PHP) ist sehr wirtschaftlich. oder die Datenanwendung ist groß genug. Erwägen Sie den Wechsel zu PostgreSQL oder Oracle, das N-Datenbanktypen unterstützt. (N >= 10)
2) Die Syntax ist einfach. Wenn Sie C und Perl gelernt haben, ist der Einstieg einfach und sie ähnelt teilweise ASP. Es gibt ausgereifte Entwicklungstools wie NuPHPed oder Zend Studio usw., und Sie können Eclipse usw. unter der Linux-Plattform verwenden.
3) Derzeit werden Mainstream-Technologien wie WebService, Ajax, XML usw. unterstützt, die für die Anwendung ausreichend sind.
4) Es gibt eine relativ vollständige Unterstützung, z. B. die Verwendung von ADODB oder PEAR::DB als Datenbankabstraktionsschicht, die Verwendung von Smarty oder Smart Template als Vorlagenschicht. Wenn es sich um PHP 5.1 handelt, können Sie auch PDO verwenden (PHP-Datenobjekt), um auf die Datenbank zuzugreifen.
5) Es gibt viele ausgereifte Frameworks, wie zum Beispiel das Framework, das MVC unterstützt: phpMVC, das Framework, das ereignisgesteuerte Ereignisse unterstützt, wie ASP.net: Prado, das Framework, das schnelle Entwicklung unterstützt, wie Ruby On Rails: Kuchen usw., ausreichend für Ihre Anwendungsanforderungen.
6) PHP 5 verfügt bereits über ein ausgereiftes objektorientiertes System, das sich an grundlegende objektorientierte Anforderungen anpassen kann. Geeignet für die Entwicklung von Großprojekten.
7) Es gibt eine ausgereifte Community, die die PHP-Entwicklung unterstützt.
8) Derzeit verwenden viele große Anwendungen PHP, wie z. B. Taobao, Yahoo, 163, Sina und andere große Portale. Viele von ihnen wählen PHP als Entwicklungssprache, sodass große Portale es wählen können Ich denke, es reicht für Ihren Gebrauch.
9) Es gibt viele Open-Source-Frameworks oder Open-Source-Systeme, die verwendet werden können. Zu den bekannten Open-Source-Frameworks gehören beispielsweise Zend Framework, CakePHP, CodeIgniter, Symfony usw., Open-Source-Foren Discuz!, Phpwind usw. und der Open-Source-Blog WordPress, Open-Source-Onlineshop-Systeme wie Ecshop, ShopEx usw. und Open-Source-SNS-Systeme wie UCHome, ThinkSNS usw.
10) Geringe Nutzungskosten (Linux-Apache-MySQL-PHP-Kernel)
2. Nachteile,
1) Funktionsbenennung erfolgt nicht in standardisierter Camel-Schreibweise Methoden- und Schiebelinien, Parameterübertragungspositionen sind unterschiedlich, wissen Sie
2) Single-Thread-PHP selbst, PHP war schon immer ein Einzelprozessprogramm, obwohl die pthreads-Erweiterung von PHP schon lange verfügbar ist. Aber es ist nicht stabil genug und hängt sich während der Ausführung aus unerklärlichen Gründen auf; PHP-Erweiterungen sind alle in C geschrieben, was bedeutet, dass jede Erweiterung mit Thread-Konkurrenz-Ressourcenkontrollproblemen dazu führen kann, dass das Ganze aufhängt
3 ) Das asynchrone Kernnetzwerk wird nicht unterstützt (natürlich gibt es unter Linux nur ein synchrones, nicht blockierendes Netzwerkmodell). Fehlt dies jedoch, ist es schwierig, eine Netzwerkanwendung zu entwickeln, die einer großen Parallelität standhält. Sowohl traditionelle Netzwerkmodelle als auch io blockieren. Der grundlegende Programmieransatz besteht darin, dass ein Prozess (oder Thread) auf eine Benutzerverbindungsanfrage antwortet. Daher ist es unmöglich, Aufgaben wie Echtzeit-Onlinespiele zu erledigen, die Tausende von Netzwerkverbindungen erfordern. Obwohl PHP auch Libevent- und EIO-Erweiterungen hat, die dies bis zu einem gewissen Grad ausgleichen können, fühlen sie sich nicht so perfekt an
4) Es unterstützt nur die Webentwicklung und es ist nicht bequem, .exe-Dateien zu erstellen oder Desktop-Anwendungen. Es ist nicht geeignet, Mobiltelefonprogramme zu erstellen. Es ist jedoch nicht für Crawler, automatisch ausgeführte Skripte und wissenschaftliche Computerprojekte geeignet Es gibt viele Möglichkeiten, es umzusetzen.
6) Schwierigkeiten bei der Nachwartung. Der Beschleunigungsspielraum in der späteren Zeit ist recht begrenzt.
Zitat von Brother Bird [Laruence]:
Sagt, dass PHP kein Multithreading unterstützt (90 % dieser Leute wissen nicht, dass das Multithreading-Modell und das IO-Wiederverwendungsmodell dies tun). Äquivalent), ist scheiße. Zu sagen, dass PHP nicht asynchron ist (90 % dieser Leute haben keine Ahnung, was asynchron ist), ist scheiße. , ist scheiße. Jedes Mal, wenn ich so etwas sehe, bin ich wirklich hilflos, weil man eine Person, die vorgibt, dumm zu sein, nicht schlau machen kann.