Co jakiś czas pojawiają się pytania: Co ciekawego zmieni się w PHP w wersji 6? Jak pisać aplikacje w taki sposób by jak najmniej trzeba było w przyszłości zmieniać? Jakie nowe ciekawe funkcje będzie niosła ze sobą kolejna wersja PHP?
Postanowiłem się im bliżej przyjrzeć by zaspokoić głód wiedzy i sobie w przyszłości oszczędzić pracy.
Na początek chciałbym zaznaczyć, że w chwili obecnej PHP 6 jest dostępne w formie snapshotów, dzięki czemu można pobrać i wypróbować wiele funkcji i zmian wymienionych w niniejszym artykule.
Na początek nowości:
Poprawiona obsługa Unicodu
W PHP 6 znacznie poprawiono wsparcie dla standardu Unicode dla wielu podstawowych funkcji.
Ta zmiana ma znaczący wpływ, ponieważ pozwoli na wspieranie szerszego zestawu znaków wymaganego dla różnych języków (cyrlica, arabskie znaczki itp) ułatwi to także współpracę PHP z Javą , która ma lepsze wsparcie dla Unikodu.
Namespaces - przestrzenie nazw
Przestrzenie nazw (Namespaces) są sposobem na uniknięcie kolizji pomiędzy nazwą funkcji i klas, bez używania prefiksów w konwencji nazewnictwa, które sprawiają, że nazwy klasy i metody mogły by być nieczytelne. Tak więc przy użyciu przestrzeni nazw, można mieć takie co najmniej 2 klasy o takiej samej nazwie, teraz nie musisz się martwić o to że ktoś inny tak samo nazwie swoją klasę.
< ?php namespace Moja_przestrzen; class XMLWriter { // Tuataj implemntacja } namespace Moja_przestrzen2; class XMLWriter { // Tuataj implemntacja } $writer1 = new Moja_przestrzen::XMLWriter(); $writer2 = new Moja_przestrzen2::XMLWriter(); ?>
SOAP
SOAP jest już dostępny w poprzednich wersjach PHP (w PHP5 jako rozszerzenie) ale w wersji 6 to rozszerzenie będzie domyślnie włączone i nie trzeba będzie się zastanawiać czy usługodawca hostingu włączył to rozszerzenie.
XML
Od PHP V5.1, XMLReader i XMLWriter są częścią jądra PHP, co sprawia, że łatwiej jest pracować z XML w aplikacjach PHP.
Rzeczy usunięte
Oprócz tego, że dodano nową funkcjonalność do PHP 6 to istnieje pewna grupa przeznaczona do usunięcia. Rzeczy te w chwili obecnej psują PHP i powodują więcej bałaganu niż pożytku:
Funkcje, które zostaną usunięte z PHP w wersji 6 obejmują:
- magic_quotes
- register_globals
- register_long_arrays
- safe_mode
Jak widać zmiany są ciekawe ale nie koniecznie spowodują, że trzeba będzie przepisywać całe aplikacje podczas migracji do kolejnej wersji PHP.