Wer programmiert noch in PHP4?
Samstag, den 18. August 2007Mein Provider Domainfactory bietet schon seit einer halben Ewigkeit an, dass ich mir meine PHP-Version aussuche. Ich habe mich dabei für PHP5 entschieden. Ich weiß zwar nur, dass es die objektorientierte Programmierung besser unterstützen soll – aber die nutze ich noch nicht wirklich. Meine Scripte funktionieren eigentlich alle in PHP4 und PHP5. Also warum sollte ich auf der PHP4-Version zurückbleiben? Vorallem da nächstes Jahr die Unterstützung für PHP4 eingestellt wird und PHP6 (mit Unicode und Namensräumen) auch bald fertig ist. Mehr dazu aber im iX-Artikel: PHP und die Zukunft.
Wo ich jedoch anfangs größere Probleme hatte, war die Register Globals-Funktions. Von Cold Fusion war ich es gewohnt, auf URL-Parameter (index.cfm?parameter=abc) mit #URL.parameter# zuzugreifen. Sowas hatte ich damals in PHP nicht gefunden. Aber ich konnte mit $parameter direkt drauf zugreifen. Jeder URL-Parameter ist gleichzeitig der Variablenname. Damals dachte ich dann noch, warum das bei Cold Fusion so umständlich wäre. Heute bin ich schlauer. Diese Register Globals-Möglichkeit kann natürlich dazu mißbraucht werden, um Variablen zu überschreiben – wodurch vor einem Jahr auch eine von mir gehostete Website von Hackern angegriffen und übernommen wurde… Ich habe daraus gelernt. Register Globals ist abgeschalten – auf die URL-Parameter greife ich nur noch mit $_GET['parameter'] zu.
Leider gibt es aber noch immer einige Joomla!-Komponenten, die ein Register Globals benötigen. Joomla! hat dafür extra einen RG-Emulator eingebaut. Der sollte jedoch nur in Ausnahmefällen benutzt werden.




