Die Intention bestimmte Programmiersprachen ins Leben zu rufen, waren und sind vielfältig. Halten sich diese über einen Zeitraum werden diese, neben Bugfixing und Performanceverbesserungen, in der Regel weiter entwickelt. Die Anzahl der Features und somit die Einsatzmöglichkeiten steigen. Trotzdem ist die Wahl der Sprache von vielen Faktoren abhängig. Alles nichts Neues. Das soll hier auch nicht weiter thematisiert werden.

Da man im dienstlichen Umfeld, was PHP angeht, immer mal wieder auf Unwissenheit stößt (nicht abwertend gemeint).... manchmal auch auf Ignoranz (.... das schon), an dieser Stelle mal eine kleine Auflistung, was man so mit PHP anstellen kann.

Das richtet sich mehr an diejenigen die auf einem Stand von 1995 sind und in PHP immernoch nur die unsichere Skriptsprache sehen, mit der sich aktuelle 'Entwicklungsprinzipien'  (OOP, MVC,...) nicht umsetzen lassen und lediglich zum 'Rendern' von HTML dient.

Alle Anderen weiterklicken!
Ansonsten: Zeitverschwendung :-)

An alle die jetzt ungläubig schauen... Es sind nicht nur Applikationen realisierbar mit denen Unternehmen bereits erfolgreich ihr Businessmodell umsetzen oder Applikationen die sich am Markt etabliert haben. Neben mehreren Arten zum 'Ausliefern von HTML' (Webserver) sind weitere Möglichkeiten vorhanden.

Nachfolgende Auflistung soll als Anregung dienen. Es geht dabei nicht um die Möglichkeiten aus der Sicht des Entwicklers. Ebenfalls nicht um die zu realisierenden Aufgaben an sich.

Ich beginne mit den Klassikern und arbeite mich langsam vor...

  • Webserver: als Apache modul + Apache
  • Webserver: per FPM + NGINX, Caddy, ...
  • Webserver: integriert
  • per CLI ('bashscript') ; shebang und chmod +x
  • interaktive shell
  • als 'gepackte' Applikation (phar) ; vergleichbar mit war file (JAVA)
  • PHP code compiling als C modul
  • PHP in Verbindung mit TCL/TK
  • Compiler für PHP --> Windows Anwendungen
  • HTTP/2-Server-Push mit PHP
  • HipHop --> HHVM ...
  • Verwendung von Java-Code innerhalb von PHP (verworfen)

Anmerkungen

Webserver

Die Anwendung innerhalb eines Webservers richtet sich nch dem Anwendungsszenario. Welche Last wird erwartet? Werden bestimmte Sicherheitsfeatures benötigt? ... Wenn diese nicht auch durch vorgeschaltete Applikationen realisiert werden können. Für interne Anwendungen verwende ich persönlich den integrierten Server..

Einfachstes Beispiel:

$ php -S 0.0.0.0:8080

'Bashscript' bzw. CLI Script

Der Vorteil gegenüber einem herkömmlichen Bashscript ist einfach der, dass sich viele Lösungen out-of-the-box realisieren lassen, ohne erst überlegen zu müssen welche Linux tools bemüht werden müssen (inkl. Installation). Als ausführbare Datei (auch ohne extension) mit dem shebang funktioniert es wie man es unter Linux gewohnt ist.

$ ./mein-php-script

phar

Dabei handelt es sich um 'gepackte' Anwendungen die sich analog zum eben genannten Beispiel einsetzen lassen. Kommt zur Anwendung wenn die App aus mehr als nur ein Skript besteht. Es existieren z.B. Module in diversen PHP Frameworks die speziell für die Erstellung von CLI Anwendungen gedacht sind. Eine der sicherlich populärsten Vertreter als phar Anwendung stellt der 'composer' (Dependency/Paket Manager) dar. Als Ergebnis arbeitet man mit einem Kommandozeilentool welches ohne Dateityp, dafür mit der jeweiligen Anzahl von Parameter und Optionen ausgestattet ist. Zum Erstellen von phar's gibt es z.B. ebenfalls ein Tool. Natürlich auch ein phar ;-) ... oder man schreibt sich selbst ein build script. Das Tool kümmert macht es komfortabler und kümmert sich noch um einige 'Dinge'.

$ composer list