Vandaag is de webserver waar onder andere deze website op draait geüpgraded van PHP versie 5.2 naar 5.3. Waarom niet gelijk naar 5.4 of 5.5? Rustig aan, eerst met versie 5.3 spelen.

Er zijn geen gigantisch grote wijzigingen aangebracht in vergelijking met de upgrade van versie 4 naar versie 5 maar zeker een aantal leuke vernieuwingen! Daarnaast zijn er uiteraard functies vervallen en een aantal wijzigingen aan functies doorgevoerd. Bij deze een kleine sommering van wijzigingen die mij aanspreken of opvallen.

  • Meerdere array-functies accepteren vanaf heden enkel een array, géén objecten meer! Hiervoor zal eerst het object geconverteerd moeten worden naar een array. Het gaat hier om: natsort, natcasesort, usort, uasort, uksort, array_flip en array_unique.
  • Namespaces! Gelijknamige bestanden kunnen niet in dezelfde map komen te staan, zo kunnen in PHP dezelfde functions, classes en constants ook niet bij elkaar. Dit kan je natuurlijk oplossen met prefixes maar namespaces maken dit net wat makkelijker.
  • Jump labels, ofwel de goto functie. Ik ben van Visual Basics naar PHP gegaan en dan mis je deze wel eens. Ik ben er blij mee! Soms worden bijvoorbeeld if-else statements zodanig verwarrend dat met deze functie je in één keer alles kan overslaan en door kan gaan naar het aangegeven punt.
  • Anonieme functies! In Javascript worden ze volop gebruikt, vanaf heden ook in PHP!
  • Nowdoc is nieuw en Herodoc is aangepast. Twee mogelijkheden om te gebruiken wanneer je in de knoei komt met enkele en dubbele quotes in een string. Herodoc is gelijk aan dubbele quotes en Nowdoc aan enkele quotes. Dit houd dus in dat Nowdoc niet ge-parst wordt zoals een string tussen enkele quotes ook niet!
  • Korte versie van de Ternary operator wat ervoor zorgt dat het middelste gedeelte tussen de vraagteken en de dubbele punt weggelaten kan worden wanneer deze gelijk is aan de waarde voor de vraagteken.
  • Nieuw error level (E_DEPRECATED) voor verouderde functies zodat het duidelijk is dat je een oude functie gebruikt nadat je PHP geüpdatet hebt. Deze functies worden veelal in de volgende versie verwijderd! Een aantal mogelijkheden die gaan verdwijnen zijn register_globals, safe_mode en magic_quotes! Eindelijk!
  • Lcfirst! Heel simpel, en natuurlijk is dat op een andere manier ook te regelen maar kwam wel eens in situaties dat ik hem miste.
  • Fileinfo extensie. Gemakkelijk gegevens van een bestand uitlezen.

Meer informatie over de wijzigingen zijn uiteraard op de website van PHP zelf te vinden: migratie van 5.2 naar 5.3