Wenn Sie diesen Titel sehen, werden Sie unweigerlich Zweifel haben. Wird PHP nicht für das Backend verwendet? Es ist wirklich praktisch, eine einzige Sprache zu verwenden. PHP eignet sich für das Frontend und JAVA für das Backend, das auf große Websites oder Systeme ausgerichtet ist. Beispielsweise verwendet die Kernentwicklungssprache von Taobao JAVA, die Front-End-Präsentationsschicht jedoch PHP. Nochmals gefragt: Es gibt viele Webentwicklungssprachen wie Python, Ruby und Perl. net, warum PHP wählen?
Das liegt daran:
PHP ist flexibel, schnell zu starten, einfach zu ändern und schnell zu veröffentlichen. Die Nachteile bestehen darin, dass es leicht zu Fehlern kommt (häufige Fehler wie Rechtschreibfehler, SQL-Injection, Upload-Ausführung). usw.), geringe Ausführungseffizienz und fehlender globaler Cache. Die Vorteile von Java bestehen darin, dass es stabil und zuverlässig ist, eine hohe Betriebseffizienz aufweist und nicht leicht Fehler macht (starke Typisierung, Vorkompilierung, Ausnahmen müssen abgefangen werden usw.). Der Nachteil besteht darin, dass die Effizienz der Entwicklung und Die Freisetzung ist relativ gering. Dies ist hier ein relativer Begriff. Dies bedeutet nicht, dass PHP keine großen Webs entwickeln kann, und es bedeutet auch nicht, dass JAVA immer noch sehr effizient ist.
Aus Sicht der MVC-Hierarchie weist dann im Entwicklungszyklus eines allgemeinen Website-Projekts die Ansicht die häufigsten Änderungen der Anforderungen und die meisten Anpassungen auf, gefolgt vom Controller und schließlich dem Modell. Das ist sehr leicht zu verstehen. Wer ändert die Datenstruktur jeden Tag, wenn er nichts zu tun hat? Die Kontrollstruktur muss bei jedem Versions-Upgrade mehr oder weniger geändert werden. Was View betrifft: Wann werden BU, PM und UED in zwei Tagen nicht geändert?
Für die Kommunikation zwischen beiden ist die RPC-Technologie derzeit ausgereift genug. Unabhängig davon, ob es sich um eine Webservice-/Hesse-/RESTful-API handelt, können sich Entwickler auf die funktionale Entwicklung konzentrieren, ohne die Unterschiede und Kommunikationsdetails zwischen heterogenen Plattformen berücksichtigen zu müssen. Dies bedeutet, dass die Lösung, in einem großen Unternehmen zwei Sprachen gleichzeitig zu verwenden, nicht zu viel Komplexität und Arbeitsaufwand mit sich bringt.
Durch die Nähe zum Front-End des Benutzers kann die Verwendung von PHP im Allgemeinen häufige und triviale Aktualisierungen des Front-Ends schneller durchführen und frei auf Änderungen verschiedener Anforderungen reagieren. Die Anpassung der Seitenstruktur, die grundlegende Überprüfung des Benutzereingabeinhalts, einfache Logik, die sich nur auf die Benutzerinteraktion bezieht, usw. eignen sich alle für die Entwicklung mit PHP. Seitenänderungen können sogar über Vorlagentechnologien wie Smarty in das Front-End-Team migriert werden. Grundlegende Geschäftslogik und Datenaktualisierungen werden mit Java entwickelt, wodurch Wiederverwendbarkeit, Leistung und Durchsatz effektiv verbessert und Sicherheitsprobleme vermieden werden können. Ein leichter Rückgang der Entwicklungseffizienz führt zu einer Verbesserung der Wartbarkeit, und eine langsame Release-Geschwindigkeit stellt kein Problem dar, da Anpassungen an der grundlegenden Geschäftslogik in der Regel als Ganzes geändert werden und erst nach schichtweisen Tests und Bestätigungen veröffentlicht werden können .
Daher verwenden große Websites PHP für das Front-End und Java für das Back-End, was einfach zu rekrutieren und zu warten ist, ein stabiles System und eine hohe Leistung aufweist und die Sicherheit erheblich erhöht. Die Wiederverwendung von Code und die Vollständigkeit der Dokumentation wurden ebenfalls verbessert. Wenn Ihnen die oben genannten Vorteile zur Verfügung stehen, ist es überhaupt kein Problem, ein umfassenderes Wissen des Architekten zu benötigen.
Warum nicht eine einzige Sprache verwenden:
Eine einzelne Lösung kann tatsächlich eine gute Isolation erreichen, und PHP kann auch Dienste bereitstellen. Tatsächlich werden Leistungsprobleme häufig eher durch Algorithmus- und Architekturprobleme verursacht Sprachunterschiede. Wie Velocity oder JSTL sind ebenfalls hervorragende Isolationslösungen.
Aber wir alle wissen, dass die Realität oft viel dürftiger ist als die Ideale. Diese Lösungen werden unter hohem Druck viele Probleme aufdecken und die Vorteile der Zweisprachigkeit widerspiegeln. Diese wurden tatsächlich oben erwähnt und beschreiben einige der Dinge, die schwer zu ändern sind. Punkte:
1. Aufgrund der Eigenschaften der dynamischen Skriptsprache von PHP müssen Klassen, Funktionen und Konstanten in jedem Anforderungszyklus wiederholt ausgeführt werden, bevor die Kompilierungsqualität beeinträchtigt werden kann ;-Anwendung FastCGI wird verwendet, aber im Gegensatz zu anderen Sprachen werden die Daten nur zur Verarbeitung von Anforderungen wiederverwendet. Nach der Initialisierung werden die Daten über die entsprechende Schnittstelle zurückgegeben Es ist im Grunde unmöglich, die ursprüngliche Leistung wiederherzustellen. Noch schlimmer ist Java, der jetzt einen Sportwagen der Marke JIT fährt.
2. Es ist so leicht, Fehler in PHP zu machen und sie sind schwer zu finden. Selbst wenn Sie das offizielle Zend Studio verwenden, ändert dies nichts an der Tatsache: Sie müssen sicherstellen, dass Ihr Programm von hoher Qualität ist und keine größeren Fehler aufweist muss über ausreichende Erfahrung, ausreichende Genauigkeit und eine verantwortungsvolle Qualitätssicherung verfügen. Huang Shang aus Taobao scherzte einmal über IDE. Der Grund für den Witz „Mangel an Middleware“ hat sich in den letzten Jahren stark verbessert, vor allem weil die Unterstützung vieler Middleware umfassender geworden ist, was PHP zugute kam, aber der Ursprung seiner Entwicklung liegt immer noch in den C- und Java-Communitys . . Leistung und Fehleranfälligkeit sind technische Schwierigkeiten, die durch Spracheigenschaften verursacht werden, und sie sind auch ein notwendiger Preis für Flexibilität und Geschwindigkeit. Grundlegende Verbesserungen sind kaum zu erwarten.
3. In der Java-Welt gibt es auch JSTL, Velocity und Freemaker, aber verglichen mit den flexiblen und leistungsstarken dynamischen Funktionen, den umfangreichen Funktionen und Klassenbibliotheken, den einfachen Lernkosten und der unverschämten Dokumentation ist es einfach Abschaum ! Ist es notwendig, den Kontext nach dem Ändern von JSTL neu zu starten? Ist es notwendig, Velocity neu zu starten, auch wenn der Cache deaktiviert ist? Ist es möglich, dass Velocity eine geringe Leistung aufweist, wenn das Caching aktiviert ist? Auch wenn diese ignoriert werden, ist es notwendig, die Aktion neu zu starten, wenn eine bestimmte Datenüberprüfungsregel angepasst wird?
Jetzt sollte jeder eine klare Antwort auf diese Frage haben.
Das obige ist der detaillierte Inhalt vonWarum ist PHP beim Erlernen von PHP für das Frontend und JAVA für das Backend geeignet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!