Kommen wir gleich zum Punkt und sagen wir, dass PHP eine seltsame Sprache ist. Es ist weder schnell noch syntaktisch schön. Gute Softwareentwicklungspraktiken werden ebenfalls nicht befolgt. Aber ich entwickle immer noch viel Software damit. Dann stellt sich die Frage: Warum wird PHP heute noch verwendet?
Neben persönlichen idealistischen Vorlieben gibt es viele Gründe. Dies ist der Umfang unserer Diskussion. Warum PHP als meine Webentwicklungssprache wählen?
Was ist PHP?
„Wofür steht PHP?“ Oder fragen Sie: „Was ist PHP?“ Die unterste Ebene ist in der Sprache C implementiert und verwendet HTML-Tags Syntax. Paketcode. PHP läuft normalerweise serverseitig, arbeitet mit dem Webserver zusammen und ist für die Verarbeitung des HTML und dessen Rückgabe an den Besucher verantwortlich.
PHP bedeutete ursprünglich „Persönliche Homepage“. Da dies die Bedeutung und Wünschbarkeit der Verwendung der Sprache für den allgemeinen Gebrauch völlig einschränkt, steht die Sprache nun für „PHP: Hypertext Preprocessor“. Diese Schreibweise wird als rekursive Abkürzung bezeichnet (eine Abkürzung, die sich im vollständigen Namen auf sich selbst bezieht). Geeks lieben diese Art von Namen.
Was kann PHP?
Wofür kann PHP verwendet werden? Im Allgemeinen kann PHP alles tun, was Sie auf einem Webserver implementieren möchten. Erstellen Sie beispielsweise einen Blog. Auch die Implementierung einer SAAS-Anwendung ist ein Kinderspiel. Es ist auch praktisch, ein Skript zu schreiben, um Daten vorübergehend zu verarbeiten. Oder ein komplexes Drehbuch schreiben, aus dem eines Tages plötzlich ein erfolgreiches Softwareunternehmen wird? Das ist in der Vergangenheit oft passiert.
Wenn Sie mir nicht glauben, können Sie einen Blick auf die offizielle PHP-Website werfen, um Anwendungsszenarien aufzulisten:
Serverseitiges Skript
Befehlszeilenskript
Desktop-Anwendungen schreiben
Letzteres empfehle ich nicht wirklich, aber es funktioniert. Aber die ersten beiden sind wirklich gute Gründe.
Dies führt zu einer wichtigen und unvermeidlichen Tatsache...
PHP ist überall
PHP lernen und lieben. Es gibt Es gibt viele Gründe, und der vielleicht leistungsstärkste und effektivste Grund ist: Es kann überall im Netzwerk verwendet und ausgeführt werden. Wenn Sie genau hinschauen, können Sie wahrscheinlich für nur 3 US-Dollar pro Monat ein Hosting-Konto kaufen, auf dem Python- oder Ruby-Webanwendungen ausgeführt werden können. Aber es kann definitiv PHP ausführen. Das bedeutet, dass Sie sich immer auf PHP verlassen können.
Da PHP überall ausgeführt werden kann und einfach zu verwenden ist, sind viele sehr beliebte Softwareprogramme in PHP geschrieben. WordPress ist für mich das einflussreichste und bekannteste Beispiel, neben diesen Tools wie Joomla, Drupal, Magento, ExpressionEngine, vBulletin (ja, es existiert noch), MediaWiki usw. sind sie alle dort, wo PHP läuft auf dem Server.
Darüber hinaus gibt es unzählige PHP-Anwendungs-Frameworks, wie zum Beispiel: Symfony, Zend, Laravel, Aura, CakePHP, Yii und sogar das alte CodeIgnitor-Framework. Natürlich könnten Sie eine ähnlich lange Liste von Web-Frameworks für jede andere Sprache erstellen. Beispielsweise können Sie für gängige Websprachen wie Python, Ruby oder Node/JavaScript sogar eine numerische Konkurrenzliste erstellen, um sie mit PHP zu vergleichen. Aber die Zahl der Websites, auf denen PHP läuft, ist überwältigend.
WordPress behauptet stolz, 30 % der Nutzer im Internet zu haben. Sie müssen diese Aussage nicht einmal glauben, um zu erkennen, dass viele Internetanwendungen PHP verwenden müssen, selbst wenn diese Aussage überhaupt wahr ist.
Vorteile von PHP
Dynamische Funktionen
PHP und HTML können sehr harmonisch zusammenarbeiten. Ändern Sie file.html in file.php. Sie können PHP-Code in den Tags schreiben. Die Standardkonfiguration der meisten Webserver besteht darin, PHP-Skripte direkt auszuführen. Gerade weil die Schwelle sehr niedrig ist, können unerfahrene Programmierer, die nicht über große Programmierkenntnisse verfügen müssen, direkt loslegen, was zu einer Menge Code von geringer Qualität führt.
Aufgrund seiner einfachen Erlernbarkeit strömten viele unerfahrene Programmierer herein, was ein weiteres Problem aufdeckte, für das PHP kritisiert wurde: PHP hat keine klare Vision davon, die beste webserverseitige Sprache zu sein. Natürlich gibt es auch dafür kein gutes Design. Dies führte zu einem anderen Ergebnis: einer lockeren Zusammenarbeit aus der ganzen Welt, einem Sammelsurium an beigesteuertem Code und Ideen, und zwangsläufig sickerten einige schlechte Ideen ein.
Eine leistungsstarke objektorientierte Paketverwaltung ist jetzt ein Standard in PHP
Composer ist ein Plus für PHP.
Bei der Entwicklung von PHP werden oft einige seltsame Dinge veröffentlicht. Das bekannteste Beispiel ist die Einführung der goto-Anweisung in PHP 5.3 (weithin als die erste moderne Version von PHP angesehen).
Ähnliche Probleme traten während des Wachstums von PHP auf: Objektorientierung wurde zunächst als fehlerhaftes und einschränkendes Konzept implementiert, die Standardbibliothek war mit inkonsistenten Namen und Parameterreihenfolgen gefüllt und (um die kürzlich kritisierte Concerned-Kastanie zu zitieren) in PHP 5.3 Wenn der Operator :: nicht erkannt wird, gibt der Parser eine schlecht lesbare Fehlermeldung aus: Syntaxfehler (T_PAAMAYIM_NEKUDOTAYIM). Wenn Sie die Dokumentation nicht lesen, können Sie diese T_PAAMAYIM_NEKUDOTAYIM-Markierung auf Englisch verstehen.
Aber jetzt bietet PHP volle Unterstützung für OOP. Nur wenige Sprachen verfügen über eine Java-ähnliche OOP-Implementierung wie PHP. Darüber hinaus verfügt PHP im Gegensatz zu Java über einen separaten und weithin unterstützten Paketmanager namens Composer. Es ist sehr einfach zu verwenden und eine Sache, die nicht ignoriert werden kann, ist, dass es problemlos auf hochwertige und gut gepflegte Bibliotheken verweisen kann, was die Verwendung sehr einfach macht.
Die rasante Entwicklung von PHP
Anhand dieser Fakten wird festgestellt, dass sich PHP auf interessante Weise entwickelt. Es entwickelt sich nach und nach zu einer objektorientierten Sprache mit vollem Funktionsumfang wie Java (im Guten wie im Schlechten) und bietet einfache Abstraktionen für die funktionale Programmierung, was als aktueller Hotspot gilt. Und es werden wirklich tolle Tools entwickelt, und PHP liebt Composer, und das aus gutem Grund – denn es leistet lobenswerte Arbeit und sorgt dafür, dass einige große Open-Source-Projekte zusammenarbeiten.
Natürlich, wir sollte nicht vergessen, was gerade angesagt ist: Durch die Entwicklung von PHP in der PHP7-Serie wurden Geschwindigkeitsverbesserungen erzielt. Es wurde allgemein angenommen, dass dies auf das Aufkommen von HHVM auf Facbook zurückzuführen war. In kurzer Zeit bestand die Gefahr, dass sich HHVM in einem Tempo entwickeln würde, das die PHP-Community zerstören würde. Dies war jedoch nicht der Fall wuchs viel schneller, bis zu dem Punkt, an dem die Menschen die Existenz von HHVM fast vergessen hatten.
PHP hat eine riesige Community und ist für Anfänger geeignet.
Wenn man sich für den Einsatz einer coolen neuen Technologie entscheidet, wird meiner Meinung nach oft wenig Aufmerksamkeit auf die Art und Weise gelenkt, wie man mit der Sprache zurechtkommt. Wie ist es, PHP zu lernen? PHP-Tutorials sind leicht zu finden und in der Regel von guter Qualität.
Einer der Nachteile der Popularität von PHP ist, dass Sie einige nicht so gute Anleitungen von Leuten finden, die nicht genug über das Tool wissen. Oder die „Best Practices“, die Sie von jemandem gelernt haben, liegen zehn Jahre zurück. Aber insgesamt ist es selten und ich denke nicht, dass es Sie entmutigen sollte. Oder plötzlich feststellen, dass die beste Vorgehensweise, die Sie seit Monaten anwenden, nicht die beste ist, ist selten und keine große Sache.
Vergleich von PHP mit anderen Sprachen
Als nächstes vergleichen wir PHP mit anderen Sprachen. Diese Sprachen müssen die folgenden Anforderungen erfüllen:
Open Source: bedeutet, dass Sie die zugrunde liegende Sprache oder das zugrunde liegende Programm frei und kostenlos verwenden und auf den Bereich der Webentwicklung anwenden können: Nicht unbedingt auf die Webentwicklung ausgerichtet, hat aber relativ große Anwendungen in der Webentwicklung; Dynamische Sprache auf hoher Ebene: Hat die Eigenschaften einer dynamischen Sprache, die meisten Sprachen für Webanwendungen haben diese Eigenschaft. Die Community ist groß genug: Es gibt viele Sprachen, die die oben genannten Bedingungen erfüllen, aber nur in einem kleinen Bereich verwendet werden , verwenden wir diese letzte Bedingung, um sie zu filtern.
Warum PHP verwenden? Anstelle von JavaScript?
Die vielleicht wichtigste Sprache im Vergleich zu PHP ist JavaScript. Moderne Entwicklung erfordert, dass jedes Projekt zumindest ein wenig JavaScript für die clientseitige Entwicklung und Interaktion beherrscht. Mit Node ist die Verwendung von JS auf dem Server dadurch relativ einfach. Es ist sehr attraktiv, auf dem Server und dem Client dieselbe Sprache „isomorph“ zu verwenden.
JavaScript ist wie PHP eine vielseitige, aber manchmal hässliche Sprache mit vielen Fehlern und „Fallstricken“, aber JavaScript ist im letzten Jahrzehnt sehr schnell geworden, das stimmt also. Warum PHP gegenüber JavaScript wählen? Sie verfügen bereits über Kenntnisse oder nutzen Bibliotheken in PHP. Ansonsten denke ich, dass JavaScript möglicherweise die bessere Wahl ist.
PHP vs. Dynamic Server Pages (.Net Core)
Dynamic Server Language stammt aus einer Microsoft-Sprache, die für die Netizen-Programmierung verwendet wird. Es ist PHP sehr ähnlich. Aber es läuft in einer Windows-Serverumgebung. Dies wurde durch ASP.net ersetzt. Jetzt ersetzt durch ASP.NET Core. Die beiden letztgenannten sind mittlerweile Open-Source-Sprachen wie PHP. Und ich persönlich habe noch nie ein bisschen ASP in irgendeiner Variante geschrieben.
Ich würde ASP bevorzugen, wenn ich Microsoft-Server verwenden und bevorzugen würde. Ansonsten gib mir PHP. Der Umfang und die Größe der beiden Gemeinden sind nicht vergleichbar.
Soll ich Ruby oder PHP verwenden?
Ruby, insbesondere Ruby on Rails, war im letzten Jahrzehnt sehr beliebt. Ruby ist immer noch eine beliebte Sprache und meiner Meinung nach eleganter als PHP. Allerdings ist seine Gemeinde kleiner. Gleichzeitig wurde mir klar, dass Ruby keine „heiße Sprache“ mehr war (diese Rolle wurde von JavaScript übernommen). Ruby ist elegant und es gibt genug Leute, die gut darin sind, dass ich es nicht meiden würde. Aber es ist immer noch schwieriger, Leute zu rekrutieren, die bereits mit Ruby vertraut sind, als PHP einzustellen. (Obwohl ich denke, dass der durchschnittliche Ruby-Entwickler besser ist als der gleiche PHP-Entwickler.)
Python vs. PHP: Wer ist besser?
Das letzte, was im Eins-zu-eins-Vergleich mit PHP Sinn macht, ist Python . Python verfügt über mehr Einsatzszenarien als PHP, das sich auf die Webentwicklung konzentriert (insbesondere in der Datenstatistik und -analyse). Und die Leute sind im Allgemeinen der Meinung, dass es sich um eine stabilere und elegantere Sprache handelt.
Wie Ruby und JavaScript ist die Ausführung von Python auf dem Server etwas umständlicher als PHP. Aber es ist eine sehr perfekte Sprache, und ihre Verwendung ist vielfältiger als PHP. Ich denke, sie ist eine der beliebtesten Sprachen als PHP, und in anderen Aspekten (z. B. verschiedene Bibliotheken von Drittanbietern, professionelle Technologie). Wissenserwerb, Rekrutierung und Jobsuche sind alle gleich.
PHP vs. Go-Sprache? Scala-Sprache? Java-Sprache? Usw.
Wie eingangs erwähnt, werden sich viele Sprachen im Vergleich mehr oder weniger ähneln. Es gibt viele Sprachen, die zum Vergleich herangezogen werden können, daher werde ich kurz auf einige eingehen:
Java ist sehr beliebt und sehr effizient. Wird normalerweise zum Erstellen von Android-Anwendungen, Desktop-Anwendungen und Webanwendungen verwendet. Es ist jedoch nicht dynamisch typisiert, bietet bessere Leistungsgarantien, eignet sich aber gut für die Webprogrammierung.
Go ist eine neue Sprache in der Entwicklung, die von Google unterstützt wird. Der Schwerpunkt liegt auf Webdiensten. Allerdings weist dieser Bereich im Vergleich zu PHP immer noch einige Mängel auf (ähnlich ist die Ausführungsgeschwindigkeit eher der C-Sprache), aber die Community ist relativ begrenzt.
Scala ist eine beliebte In-Memory-Sprache (Java-kompatibel), die immer beliebter zu werden scheint. Es ist eleganter gestaltet als PHP, aber darüber hinaus scheint es nicht viel mehr zu bieten.
Außerdem denke ich, dass diese Analysen ausreichen, um eine Wahl zu treffen, aber Sie haben noch mehr Optionen zu berücksichtigen, aber am Ende wäre meine Alternative, PHP in Betracht zu ziehen.
Sie müssen die Programmiersprache entsprechend Ihren Anforderungen auswählen
Warum sollten Sie angesichts des obigen Vergleichs PHP verwenden? Ich habe oben einige schlechte Designs in PHP erwähnt. Beispielsweise ist die Reihenfolge dieser Funktionen „Nadel“ und „Heuhaufen“ inkonsistent in die Grube.
Wenn Sie ein neues Webprojekt erstellen, das nicht mit anderen Systemen interagieren muss, und Sie der Einzige sind, der daran arbeitet, möchten Sie eine andere Sprache wie Python oder etwas anderes ausprobieren. Sie müssen jedoch wissen, dass es auch für ein Projekt wie dieses viele Gründe gibt, sich für PHP zu entscheiden.
Mit jeder modernen Sprache können Sie eine Web-App erstellen. Jede Sprache hat ihre Mängel, wie zum Beispiel PHP. PHP erfordert, dass Sie ihre Mängel klar verstehen, bevor Sie entscheiden können, ob Sie sie in Ihrem Projekt verwenden möchten. Aber ich werde mich immer noch für PHP entscheiden, um mein Webprojekt zu erstellen, wie Keith Adams in seiner Rede erwähnte:
Die Entwicklungseffizienz von PHP ist wirklich außergewöhnlich hoch.
Wenn Sie ein Python-Team haben, verwenden Sie Python. Wenn Sie einen Partner haben, der mit Java vertraut ist, verwenden Sie Java zum Schreiben Ihres SaaS-Programms. Sprache ist nie das Wichtigste.