Neue PHP-Funktionen ohne neue PHP-Versionen

Massenkompatibel
Kommentare

Neue Versionen von PHP bieten in der Regel neue Möglichkeiten, doch gerade Massenhoster sind bei einem Upgrade häufig relativ zurückhaltend. Mit zwei PEAR-Paketen lassen sich Anwendungen mit relativ wenig Aufwand versionskompatibel erstellen.

Auf einem selbst kontrollierten System ist die Entwicklung immer am einfachsten. Man weiß genau was installiert ist, kann Software und auch Hardware verändern und schafft sich so seine Systemvoraussetzungen selbst. Das ist aber in der Softwareentwicklung nicht immer ein gangbarer Weg. Gerade im Open-Source-Bereich erhofft man sich häufig Bestätigung, aber auch Feedback, Hinweise und Unterstützung dadurch, dass die Programmierleistung frei verfügbar ist. Hat eine Software jedoch exotische Systemvoraussetzungen (etwa PHP 5.1 mit deutschen Regionaleinstellungen unter Windows 98), ist die Verwendung des Produkts schwieriger als sie sein müsste. Dadurch sinkt gleichzeitig die Größe der erreichbaren Zielgruppe – zumindest solange Hoster noch auf alten PHP-Versionen sprichwörtlich sitzen bleiben -, denn es bestehen Barrieren zum Einsatz (die Analogie zu Accessibility-Problemen ist durchaus zutreffend).Eine an dieser Stelle beliebte Diskussion dreht sich darum, ob Software noch kompatibel zu PHP 4 sein soll oder schon auf Basis von PHP 5 arbeiten darf. Ein Denkansatz besteht darin, dass alle Dämme freigegeben werden sollen, sobald alle relevanten Distributionen PHP 5 als Standardversion anbieten. Häufiger jedoch wird argumentiert, dass PHP 5 erst dann wirklich Standard ist, wenn der tatsächliche Marktanteil der Version eine hohe Schwelle überschritten hat. Üblicherweise bedient man sich in der Softwaretechnik der letzteren Argumentation, auch wenn man gerechtfertigt anmerken könnte, dass ein signifikanter Marktanteil auf sich warten lassen könnte, wenn es nicht auch entsprechende Software dafür gibt.

Abb. 2: Von PHP 4.x auf 5.1 – zumindest fast

Wie immer: PHP und gerade PEAR bietet einige Feinheiten, die man gar nicht erwartet hätte. Für den Einsatz innerhalb eines kontrollierten Umgebung mag PHP_Compat nicht immer sinnvoll sein, aber für Software, die auf möglichst vielen Systemen laufen soll, bietet das Paket viel nützlichen Code. Zaubern kann es allerdings nicht. Werfen Sie dazu einfach noch einmal auf den eingangs gezeigten Emulationscode für die Funktion file_put_contents(). Dieser ist direkt aus dem Code von PHP_Compat entnommen. Wie Sie sehen, wird der Parameter $resource_context nicht verwendet. Gleiches gilt für E_STRICT: Die Konstante existiert dank der Verwendung von PHP_Compat, aber der Fehlerlevel E_STRICT steht trotzdem erst in PHP 5 zur Verfügung.In der nächsten Ausgabe lernen Sie ein weiteres PEAR-Paket kennen, das ebenfalls Kompatibilitätsinformationen bietet – und das mehr oder minder automatisch.Christian Wenz ist Autor, Trainer und Berater mit Schwerpunkt Webtechnologien. In seiner Serie „x ohne x“ zeigt er regelmäßig, wie PHP ungeahnte Fähigkeiten entwickeln kann. Kompatibler PHP-Code liegt ihm sehr an Herzen, weswegen die Screenshots im PHP Phrasebook (Sams) auf vier verschiedenen Betriebssystemen entstanden. Sein Blog unter www.hauser-wenz.de/blog/ sollte ebenfalls systemunabhängig funktionieren.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -