Was sind die Vorteile von PHP? [geschlossen]

14

Jeder weiß, dass Menschen Vorurteile gegenüber bestimmten Programmiersprachen haben. Insbesondere PHP scheint unter Problemen der Vergangenheit und einigen anderen Dingen (wie losen Typen) zu leiden und wird oft als nicht-seriöse Programmiersprache bezeichnet, die für professionelle Anwendungen nicht verwendet werden sollte.

In diesem speziellen Fall PHP: Wie argumentieren Sie, PHP als Ihre gewählte Programmiersprache für Webanwendungen zu verwenden? Was sind die Vorteile, wo ist PHP besser als ColdFusion, Java usw.?

Gipfel
quelle
5
PHP ist ein regionalisierter, minimalinvasiver Ansatz zur Krebsbehandlung, der derzeit in klinischen Phase II- und Phase III-Tests getestet wird. PHP kann auch helfen, Hash-Kollisionen besser zu verstehen. Die Organisatoren des PHP-Projekts unterstützen außerdem verschiedene Strafverfolgungsbehörden bei der Bekämpfung von privaten und kommerziellen Verstößen gegen Massenversand und bei der allgemeinen Arbeit, um die Menge an Spam, die im Internet gesendet und empfangen wird, zu verringern. PHP bietet Support-Gruppen an mehreren Dutzend Standorten in Massachusetts an. PHP ist eine Art Programm zur Behandlung von psychischen Erkrankungen und Drogenmissbrauch. PHP ist in Schicht 3 MPLS VPN (RFC2547).
Job
Jede Sprache hat ihre Hasser / Bewunderer. Ich würde nicht sagen, dass PHP im Vergleich zu anderen Sprachen besonders gehasst wird. Ich würde sagen, je mehr Bewunderer eine Sprache hat, desto mehr Hasser hat sie. Ich bin sicher , könnten wir das kodifizieren: (admirers lang X/haters lang X) = AcmeConstant . AgeFactor(Lang X Age). Wo ist AcmeContant unverändert für alle Sprachen <(;-)
Martin Yorker
1
Ich benutze PHP, um Leuten zu demonstrieren, wie man Sprachen nicht gestaltet.
dan_waterworth

Antworten:

13

Josh K hat einige ziemlich gute Punkte herausgestellt , also werde ich das nicht wiederholen. Stattdessen werde ich noch etwas hinzufügen.

Es wird interpretiert.

Einfach FTP / SSH in dein Konto, das Zeug muss geändert werden und schon geht es los! Es ist nicht erforderlich, den Server zu kompilieren, bereitzustellen oder neu zu starten.

Natürlich ist dies etwas, das für Leute, die in einer nicht formalisierten Entwicklungsumgebung ohne Versionskontrolle, automatisierte Tests, automatisierte Builds usw. arbeiten, überzeugend ist.

Es ist in der Tat einfach

Ernsthaft. Zumindest für den echten Anfänger ist es wirklich einfach. So einfach, dass ich ihm stattdessen ein Python-Buch kaufte, als mein Cousin Interesse am Programmieren bekundete. Die Konventionen von PHP könnten Ihnen einige schlechte Gewohnheiten beibringen.

Es ist fähig

Ich habe eine lebenslange, gegenseitige Fehde mit C / C ++ - Sprachen. Irgendwie mögen wir uns nicht. Während meiner Studienzeit, als ich Projekte mit Berechnungen durchführen musste, entschied ich mich für PHP anstelle von C ++ und konnte in jedem Fall das erreichen, was ich beabsichtigte. Vielleicht war die Programmausführung tatsächlich langsamer als in C ++, aber das war in diesem Fall kein Faktor.

Wie auch immer: Neuronale Netze, genetische Algorithmen, Fuzzy-Logik ... all das habe ich mit PHP gemacht. Ja ... Leute hatten mir gesagt, ich sei komisch.

Mchl
quelle
+1 für interpretiert und fähig. Eine Sache, die mich bei der Arbeit im Web mit Java immer nervte, war die ständige Notwendigkeit, neu zu kompilieren und bereitzustellen. Die Verwendung von etwas wie Grails lindert einiges davon, aber es ist bei weitem nicht so gut wie PHP.
Josh K
Ausgelegt und fähig ist wirklich ein gutes Argument. +1 Alle Antworten waren gut und haben einige gute Argumente geliefert.
27.01.11
Schauen Sie sich diesen Code für den Umgang mit 64-Bit-Ganzzahlen an: mysqlperformanceblog.com/2007/03/27/… Nennen Sie das ernsthaft einfach?
ThomasX
Nein, tue ich nicht. Bitte beachten Sie, dass ich schrieb: "Zumindest für den echten Anfänger ist es wirklich einfach." Echte Anfänger brauchen sich normalerweise nicht um die Portabilität zwischen Plattformen zu kümmern (wenn es eine gute Sache ist - das ist eine ganz andere Frage). Allgemeiner Hinweis: Wenn Sie mit großen ganzen Zahlen in PHP rechnen, verwenden Sie die BCMath-Erweiterung (und ja, ich weiß, dass dies nicht die beste Lösung ist, die es geben könnte ... aber so ist PHP;))
Mchl
17

Dies ist etwas, worüber sich nicht jeder einig sein wird, aber ich denke, dass ein weiterer Grund, warum PHP so beliebt ist, darin besteht, dass es einfach ist, ein kostenloses Hosting-Konto zu erhalten.

Viele junge Studenten, die in die Webentwicklung einsteigen möchten, entscheiden sich für PHP, weil das Online-Einrichten eines Servers sie nichts kostet und sie kostenlos damit experimentieren können.

Obwohl es kostenlose Hosting-Optionen für andere Sprachen (Java, Ruby, .net) gibt, ist es viel schwieriger, sie zu finden.

mrwooster
quelle
Kosten sind definitiv ein Hauptfaktor bei der weit verbreiteten Verwendung.
Orbling
14

Vorlage

In PHP sind Vorlagen integriert, ohne seltsame Tags, Parsing oder Overhead. Manche mögen das, manche nicht.

tragbar

PHP kann für fast alle Server und die meisten Plattformen ausgeführt werden. In der Tat ist es ist auf fast jedem Server ausgeführt werden . Sie können es unter IIS, Apache, Nginx usw. ausführen. Dies bedeutet, dass Sie einen einmaligen Schreibzugriff haben und ihn überall ausführen können. Diese Portabilität ist abhängig von den zu unterstützenden Umgebungseinstellungen mit einigen Einschränkungen verbunden. Dies unterscheidet sich zwischen kommerziellen Anwendungen und Open Source / weit verbreiteten Anwendungen.

Beliebt

PHP hat eine riesige Community und wächst weiter. Diese Community ist das Ergebnis der großen Beliebtheit von PHP. Sie haben sehr aktive Mailinglisten, Diskussionsforen und eine große Anzahl von Leuten, die beim Entwickeln Fragen beantworten können.

Kosten

PHP selbst ist kostenlos, und die Mehrzahl der Elemente, mit denen es standardmäßig funktioniert (Apache, PostgreSQL, MySQL), sind kostenlos. Dies gibt Ihrem Projekt eine sehr niedrige Anfangskostenschwelle.

Josh K
quelle
Ich würde nicht wirklich sagen, dass Portabilität eine Stärke von PHP ist. Wenn Sie wollen tatsächlich tragbare PHP schreiben, müssen Sie sich um die Tatsache zu arbeiten , dass die Sprache viele verschiedene Arten konfiguriert werden können, zB Sie die Konfigurationsoption für Magic Quotes zu überprüfen , und führen , stripslashes()weil einige auf die Config - Option haben und einige don nicht.
Jim
2
@ Jim - Das ist viel tragbarer als die meisten Dinge.
Orbling
@Orbling - Wirklich? An welche ähnlichen Merkmale anderer Sprachen denken Sie?
Jim
1
@ Jim: Ich schreibe Code, der eine "Best Practice" -Umgebung erwartet. Wenn ich ein OS - Projekt tat würde ich eine Reihe von Optionen / Einstellungen Mandat (zB magic_quotes_gpcgedreht off ). Der beste Weg, um damit umzugehen (wenn Sie mussten), wäre, diese if / else-Verarbeitungsblöcke in Hilfsfunktionen zu kapseln, wodurch die Notwendigkeit entfällt, die Anführungszeichenprüfung mit Ihrem Anwendungscode zu integrieren.
Josh K
1
@Josh - Ich würde dasselbe tun wie Sie, wenn ich in diesen Tagen noch in großen Mengen PHP geschrieben hätte, aber wenn Ihr Code von einer "Best Practice" -Umgebung abhängt, ist er nicht portierbar. Insbesondere treten auf vielen beschissenen Hosts Datenverfälschungsfehler auf, da allen vom Benutzer bereitgestellten Daten falsche umgekehrte Schrägstriche hinzugefügt werden. Angesichts der Tatsache, dass die Allgegenwart von PHP-Hosting einer der Hauptvorteile bei der Verwendung von PHP ist, halte ich es für angemessen, all diese beschissenen Hosts in Betracht zu ziehen. Die von Ihnen beschriebenen Hilfsfunktionen sind die typische Vorgehensweise. Dies ist jedoch eine Problemumgehung für ein Portabilitätsproblem.
Jim
5

PHP ist überall. Egal, welchen verrückten, verrückten Webhost Sie haben, es ist höchst unwahrscheinlich, dass PHP nicht darauf installiert ist. Das bedeutet, wenn Sie eine Web-App schreiben, die auf den Servern anderer Benutzer ausgeführt werden muss, können Sie sich immer auf einige PHP-Funktionen (PHP 4/5-Klassen und die Standarderweiterungen) verlassen und die Benutzerbasis erhöhen, während der Support verringert wird.

David Kendal
quelle
5

Verfügbarkeit Fast jeder Webhost unterstützt dies

Entwicklungsgeschwindigkeit Sie benötigen lediglich einen Texteditor, für den keine Kompilierung erforderlich ist

Einfache Einrichtung Auch wenn es nicht installiert ist, ist es einfach zu installieren und wird sogar mit LAMP / WAMP-Servern geliefert

Dokumentation Es gibt Unmengen von Beispielen, Selbsthilfegruppen, Büchern usw.

Wildpeaks
quelle
1

Einige Vorteile von PHP:

  • Integrierte Upload-Verwaltung für die Dateieingabe
  • Integrierte Verarbeitung von Daten aus GET, POST und COOKIES
  • Eingebaute Sitzungsverwaltung
  • Schnell zu schreiben
  • Einfach zu mischender Code und HTML (Hinweis: Dies wird auch als Nachteil angesehen)

Jetzt hat es auch einige offensichtliche Nachteile:

  • Keine Vorstellung von lokalen Variablen ... Variablen sind entweder global oder funktionsspezifisch. Dies wird Sie irgendwann verbrennen, besonders wenn Sie Schleifen verwenden.
  • Globale Variablen sind im Funktionsumfang nur verfügbar, wenn Sie sie mit dem globalSchlüsselwort speziell anfordern.
  • Die Programmierumgebung ändert sich je nach php.ini. Dazu gehören Änderungen im Verhalten der spezifischen Funktionen und Einbau-Arrays (zB $_GETund $_POSTWerten ändert sich je nach der magic_quotes_gpcEinstellung)
Powerlord
quelle
1
Niemand, der bei klarem Verstand war, würde eingeschaltet bleiben magic_quotes_gpc. Ich bezweifle die geistige Gesundheit der Person, die dem Motor diesen wertlosen Schwamm hinzugefügt hat.
Josh K
1
"Globale Variablen sind im Funktionsumfang nur verfügbar, wenn Sie speziell danach fragen" - sehen Sie nicht wirklich, wie nachteilig das ist. Es gibt Sprachen, die das so machen, es gibt andere, die das nicht tun.
Mchl
1
@Mchl: Die meisten Sprachen tun dies nicht und es ist definitiv ein Gotcha, wenn Sie nichts darüber wissen. Aus dem Kopf, TCL ist die einzige andere Sprache, die ich verwendet habe, die dies tut.
Powerlord
1
@Josh K: Der primäre Server meines vorherigen Unternehmens hat ihn immer noch in Betrieb, da der Chefprogrammierer vor mir ihn mochte, und als solcher verließ sich der Großteil des alten PHP-Codes, der herumschwebte, darauf. Keine Zeit, Hunderte von Websites neu zu kodieren. : - /
Orbling
1
@Mchl: Ada hat die Tendenz, sich an Stellen zu gewöhnen, an denen Misserfolge zum Tod führen würden, viel Tod. adaic.org/advantages/projects
Orbling
1

Ich denke, einige Leute mögen PHP nicht, weil Sie es so verwenden können, wie Sie es mögen / für richtig halten. Weil jeder es sehr einfach benutzen kann, kommt eine Menge beschissener Code auf die Welt. Einige Programmierer, die dort noch nie wirklich PHP geschrieben haben, denken vielleicht, dass es so ist, wie Sie mit PHP arbeiten. Und manche Leute mögen PHP nicht, weil sie etwas anderes mögen und Angst vor neuen Dingen haben.

Ich persönlich mag PHP, weil ich es fast überall ausführen kann. Sie können eine Menge Hilfe im Internet bekommen und es ist kostenlos. Es gibt auch einige gute Frameworks wie das Zend Framework. Aber die meisten Leute kommen nicht dorthin.

Pimmetje
quelle