Stefan Priebsch

PHP 5.3, Teil 1
Kommentare

Kaum ein PHP-Release hat so lange auf sich warten lassen wie die Version 5.3. Hat sich das lange Warten gelohnt und wann sollte man umsteigen? Wir sehen uns die
wichtigsten Neuerungen in PHP 5.3 an und ich zeige Ihnen, was man damit machen kann.

Lesen Sie ab heute jeden Tag einen Teil des Leitartikels unserer Ausgabe
5.09 PHP 5.3 – Das neue PHP-Release: Hat sich das warten gelohnt? auf
phpmagazin.de.

Die Geschichte von PHP 5.3 geht zurück auf ein Treffen von PHP-Kernentwicklern im Anschluss an die International PHP Conference 2005 in Paris, in dem der geplante Funktionsumfang für PHP 6 festgelegt worden war. Das Killerfeature von PHP 6 sollte eine vollständige, durchgängige Unicode-Unterstützung sein. Leider ging die Entwicklung von PHP 6 über die Jahre eher schleppend voran, sodass man aufgrund von unterschiedlichen Meinungen über die richtige Art und Weise, die Unicode-Unterstützung in PHP zu implementieren, sich Ende 2007 schließlich entschloss, alle für PHP 6 geplanten Features nach PHP 5 zurückzuportieren und die Unicode-Unterstützung noch zurückzustellen. So war aus PHP 6 die Version 5.3 geworden.

Neue und verbesserte Funktionen

Kein neues PHP-Release wäre vollständig ohne einige neue Funktionen. Neu in PHP 5.3 sind etwa

  • die Funktionen array_replace() zum Zusammenführen zweier Arrays, wobei im ersten Array bereits bestehende Schlüssel überschrieben werden, und array_replace_recursive(), das rekursiv arbeitet und auch verschachtelte Arrays zusammenführt
  • als Komplement zur bekannten Funktion ucfirst(), die das erste Zeichen eines Strings in Großbuchstaben umwandelt, die neue Funktion lcfirst(), die den Anfangsbuchstaben (der Zeichenkette, nicht jedes Worts) in einen Kleinbuchstaben umwandelt
  • parse_ini_string(), das der Funktion parse_ini_file() entspricht, und eine Zeichenkette als Argument erwartet und macht so das Programm unabhängig von einer externen INI-Datei, was in vielen Situationen das Testen erleichtert
  • die Funktion preg_filter(), die gewissermaßen preg_grep() und preg_replace() in einer Funktion vereint, was sehr mächtige, aber nicht unbedingt lesbare Suchen- und Ersetzen-Operationen ermöglicht
  • als Komplement zum existierenden quoted_printable_decode() in PHP 5.3 nun neu die Funktion quoted_printable_encode(), die nicht-ASCII-Zeichen gemäß RFC 2045 in eine 7-bit-Repräsentation kodiert. Aus schön wird sch=C3=B6n
  • Mit json_last_error() erhält man den Fehler beim letzten Aufruf von json_decode() in Form (des Integer-Werts) einer der Konstanten JSON_ERROR_NONE, JSON_ERROR_DEPTH, JSON_ERROR_CTRL_CHAR oder JSON_ERROR_SYNTAX zurück

Interessanter Artikel?

width=“75″ height=“106″ alt=“PHP Magazin 5.09″ />

Gefällt Ihnen dieser Artikel? Dies und mehr ist alles Teil der Ausgabe 5.09 unseres PHP Magazins. Alle zwei Monate frisch am Kiosk! Zur jeweils aktuellen Ausgabe geht es hier.

Zwei weitere neue Funktionen beziehen sich auf Streams, die PHP-intern zur Abstraktion von Ein- und Ausgabeoperationen eingesetzt werden. Mit stream_context_set_default() definiert man einen Standardkontext für alle verwendeten Streams. Durch einen Stream-Kontext kann man beispielsweise festlegen, dass file_get_contents() einen POST– anstelle eines GET-Requests sendet. Mit stream_supports_lock() schließlich kann man prüfen, ob ein Stream eine Sperrung mit flock() erlaubt.

Einige vorhandene Funktionen wurden in der Version 5.3 erweitert, indem zusätzliche Parameter eingeführt wurden. Deren Standardwert wurde jeweils so gewählt, dass bestehender Programmcode nicht geändert werden muss. Die geänderten Funktionen sind array_reduce(), clearstatcache(), copy(), fgetcsv(), getimagesize(), ini_get_all(), nl2br(), round() und stream_context_create() und strstr(). Eine ausführliche Beschreibung der neuen Parameter würde den Rahmen dieses Artikels sprengen, daher sei an dieser Stelle auf das title=“PHP – Hypertext Preprocessor“ target=“_blank“>Onlinehandbuch verwiesen.

Lesen Sie morgen die Fortsetzung Verbesserte Windows-Unterstützung & Late Static Binding.

Stefan Priebsch Dipl. Inform. Stefan Priebsch ist Mitgründer und Principal Consultant bei thePHP.cc und Autor mehrerer Fachbücher, darunter auch target=“_blank“>PHP 5.3 – Die Neuerungen, das im entwickler.press-Verlag erscheint.

 
Das ist neu in PHP 5.3
  1. Neue und verbesserte Funktionen
  2. Verbesserte Windows-Unterstützung & Late Static Binding
  3. Namespaces
  4. Phar
  5. … und Vieles mehr
Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -