Beim Wechsel von PHP 5.4 auf 5.5 erwartet einen so gut wie keine Kompatibilitätsproblem, da bei diesem Release primär neuer Features eingeführt wurden (Generators, OPcache, …). Falls man also nicht vorher schon APC eingesetzt hat, kann man sich über eine bis zu 200% schnellere Ausführungsgeschwindigkeit freuen.
Die vielleicht wichtigste Ankündigung ist, dass die ursprüngliche MySQL-API in einem späteren Release komplett entfernt wird. Wichtig dabei ist, das noch viele Projekte auf diese stark veraltete Schnittstelle setzen, auch unter anderem WordPress und seine Plugins.
Auch für dieses Release gibt es eine entsprechende Dokumentation auf php.net und ich versuche hier eine kurze und knappe Übersicht zu bieten:
Funktionen
- Entfernt:
- php_logo_guid()
- php_egg_logo_guid()
- php_real_logo_guid()
- zend_logo_guid()
- Geändert:
- preg_replace(): Modifier /e im RegEx-Pattern erzeugt ein E_DEPRECATED
- set_error_handler(): Übergabe von null führt nun zu einem Reset des Error-Handlers
- json_encode(): Der optionale Parameter “depth” (Default: 512) ist hinzugekommen
- pack(): Verhält sich nun mit dem Format-Code “a”/”A” anders, “Z” bietet nun das selbe verhalten wie “a” vor PHP 5.5
- unpack(): Verhält sich nun mit dem Format-Code “a”/”A” anders, “Z” bietet nun das selbe verhalten wie “a” vor PHP 5.5
- MessageFormatter::format(): Akzeptiert nun Named-Arguments, Wirft keine Fehler bei ungenügender Anzahl an Paramtern
- IntlDateFormatter::__construct(): “timezone”-Parameter akzeptiert nun Objekte von IntlTimeZone und DateTimeZone, “calendar”-Parameter akzeptiert nun Objekte von IntlCalendar
- IntlDateFormatter::getCalendar(): Gibt nun FALSE zurück, wenn das Objekt mit IntlCalendar erzeugt wurde
- IntlDateFormatter::setCalendar(): Akzeptiert nun IntlCalendar als Übergabe
- IntlDateFormatter::format(): Akzeptiert nun IntlCalendar-Objekte
- Deprecated (E_DEPRECATED wird verursacht und die Funktionen werden in einem späteren Release entfernt):