PHP die dynamische Konstante

Webtechnologien und die damit verbundenen Konzepte, Programmiersprachen und Tools unterliegen einer unglaublichen Innovationsgeschwindigkeit. Ein wesentlicher Antrieb für diese Dynamik ist die Open Source Welt, in der jeder leicht die Ideen anderer aufgreifen, verbessern und weiterentwickeln kann.

Auch die Sprache PHP ist aus diesem Umfeld hervorgegangen. Aus den einstigen „Personal Home Page Tools“ von 1994 [1] wurde die weit verbreitetste Sprache für serverseitige Programmierung im Web [2].

Sie erweist sich bei aller Dynamik in der Branche als eine bemerkenswerte Konstante im Instrumentarium vieler Webentwickler.

PHP ist eine ausgewachsene Programmiersprache

Aus der einstigen Script-Sprache zur Dynamisierung von HTML-Ausgaben ist eine ausgewachsene, vorzugsweise objektorientierte Programmiersprache geworden. Sie eignet sich vor allem zur serverseitigen Entwicklung von Webanwendungen, wie etwa Content Management Systemen oder SAAS – Software as a Service Lösungen.

Die Sprache ist nicht ganz unumstritten, weil sie in mancherlei Beziehung recht traditionell und gewachsen wirkt. In PHP gilt eine dynamische Typisierung. Das macht die Programmierung zum einen einfacher, birgt aber auch hohe Risiken für Programmierfehler. Und so gibt es Verfechter einer radikalen Erneuerung aber auch Teile der Community, die eher traditionell orientiert sind.

Brent Roose kommt in seinem Artikel „PHP in 2019“ [3] zu dem Schluss:

While it’s still possible to do lots of messed up things with PHP, I’d say it’s a great choice for web development if used wise and correct.

Vielfältige Werkzeuge

Das in unseren Projekten mehrheitlich eingesetzte Content Management System TYPO3 ist in PHP geschrieben. [4]

Frameworks, wie Laravel [5], Symfony [6] oder auch das Micro Framework Slim [7] setzen moderne Konzepte des Software-Engineerings um, sowohl in Architektur, Code-Formulierung als auch im Tooling.

composer [8] ist ein Paketmanager für PHP. Mit ihm können von anderen Entwicklern bereitgestellte Pakete in die eigene Entwicklung eingebunden werden. So wird aus dem Micro Framework Slim mit der aus aus dem Symfony-Framework stammenden Template-Engine Twig [9] und dem Object Relational Manager (ORM) Eloquent [10] aus Laravel ein individuell zugeschnittener Werkzeugkasten.

Es stehen zahlreiche Pakete für eine testgetriebene Entwicklung und zur Code-Analyse und -Optimierung zur Verfügung.

In der PHP Framework Interop Group (PHP-FIG) [11] haben sich namhafte PHP-Projekte zusammengeschlossen. Sie verfolgen das Ziel, Gemeinsamkeiten der Projekte zu untersuchen und daraus standardisierbare Lösungen abzuleiten. Für solche Lösungen werden die PSR-Standards (PHP Standard Recommendation) formuliert [12]. Pakete, die solchen Standards folgen, können zwischen Projekten beliebig ausgetauscht werden.

So hat einer unserer Qbus-Entwickler als Mitglied des TYPO3-Core Teams [13] wesentlichen Anteil an der Einführung von PSR-Standards im TYPO3-Kern, wie etwa dem PSR-15 Middleware Standard [14].

Sprachvielfalt

Zur FrontEnd-Entwicklung führt natürlich kein Weg an JavaScript vorbei. Mit reaktiven Frameworks wie z. B. Vue.js lassen sich browserseitig komplexe Benutzerinterfaces bauen, die serverseitig beispielsweise über eine in PHP geschriebene REST-API angebunden sein können.

Hier geht es ja auch nicht um Glaubensbekenntnise, sondern um das jeweils geeignetste Werkzeug für die Umsetzung einer Aufgabe. PHP jedoch ist ganz sicher auch 2019 und in der Zukunft ein richtiges und wichtiges Werkzeug in der Webentwicklung [3]

[1] https://www.php.net/manual/de/history.php.php
[2] https://w3techs.com/technologies/overview/programming_language/all
[3] https://stitcher.io/blog/php-in-2019
[4] https://typo3.org/
[5] https://laravel.com/
[6] https://symfony.com/
[7] http://www.slimframework.com/
[8] https://getcomposer.org/
[9] https://twig.symfony.com/
[10] https://laravel.com/docs/5.8/eloquent
[11] https://www.php-fig.org
[12] https://www.php-fig.org/psr/
[13] https://typo3.org/community/teams/typo3-development/
[14] https://www.qbus.de/qblog/psr-15-middlewares-fuer-typo3-cms-v9
[15] https://vuejs.org/

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.