Najważniejsze nowości w PHP 5.3: jak uniknąć niekompatybilności i jak wykorzystać nowinki
Choć PHP 5.3 jest już trochę dostępne na rynku, to wciąż wiele firm hostingowych (również ze ścisłej czołówki) nie spieszyło się z udostępnieniem tego interpretera swoim klientom. Teraz, przy okazji uruchomienia PHP 5.3 w jednej z największych firmy hostingowych w Polsce, warto przygotować się na nowości, które wkrótce podbiją serwery na całym świecie. Przedstawiamy listę tych najważniejszych, ale też mniej popularnych, które przydadzą się w codziennej pracy webmastera.
Spis treści |
PHP 5.3.0 zostało wydane w czerwcu 2009 roku, a w połowie grudnia 2010 roku wraz z wydaniem wersji 5.2.16 oficjalnie zakończyło się wsparcie dla wersji 5.2.*. Wdrożenie nowej wersji PHP wymaga czasu - wersja 5.2 potrzebowała dwóch lat od wydania, aby została zainstalowana na większej liczbie serwerów niż dotychczasowe wersje.
Teraz, kiedy minęło niemal pół roku od rozpoczęcia serii 5.3.*, warto zacząć korzystać z nowej wersji. Ale zanim to zrobisz, przeczytaj ten tekst, aby zobaczyć, jakie zmiany w PHP zostały wprowadzone, jak możesz z nich skorzystać i na co trzeba zwrócić szczególną uwagę. A wszystko po to, aby uczynić proces migracji sprawniejszym
Niekompatybilności
Programiści PHP 5.3 uważają, że większość nowości nie spowoduje potrzeby zmian w kodzie – jednak część nowych możliwości nie będzie kompatybilna ze starszymi wersjami PHP. W związku z tym, jeśli używasz ich w kodzie – musisz zwrócić na nie szczególną uwagę. Oto najważniejsze nowości, które będą niekompatybilne z wcześniejszymi wersjami PHP.
-
Nowe wewnętrzne API. Parsowanie parametrów zostało zaimplementowane we wszystkich rozszerzeniach dostępnych w PHP 5.3.x – w związku z tym każda funkcja, w której podamy złą listę parametrów, będzie zwracać NULL. Wyjątkiem jest funkcja get_class(), która zwróci false.
-
realpath() jest całkowicie wieloplatformowe. W efekcie standaryzacji niepoprawne ścieżki (jak /var/test/…/x) przestaną działać.
-
Funkcje sortowania natsort(), natcasesort(), usort(), uasort(), uksort(), array_flip(), array_unique() nie przyjmą jako argumentu tablicy opakowanej w obiekt. Przed przekazaniem musisz zrzutować obiekt na tablicę.
-
Jeżeli funkcja deklaruje, że przyjmuje referencje do zmiennych, to podanie jej wartości poskutkuje błędem krytycznym. Każdą wartość trzeba przypisać do zmiennej przed przekazaniem do funkcji.
Nowości
Lista nowości w PHP 5.3 jest obszerna, dlatego wybraliśmy te najważniejsze – przy okazji zobaczysz, jak możesz wykorzystać je praktycznie.
Ze zmian będą zadowoleni programiści pracujący w systemie Windows. PHP 5.3 wspiera w wersji okienkowej między innymi:
-
sprawdzanie rekordów DNS dla hosta albo adresu IP za pomocą funkcji checkdnsrr,
-
wyszukiwanie plików pasujących do określonego szablonu za pomocą funkcji fnmatch,
-
pobieranie opcji z listy parametrów linii poleceń za pomocą getopts,
-
pobieranie indeksu koloru na obrazku najbliżej podanych parametrów za pomocą imagecolorclosesthwb,
-
konwersję między maszynowym i ludzkim zapisem adresów IP za pomocą inet_ntop i inet_pton,
-
manipulację skrótami dzięki funkcjom link(), linkinfo() i readlink() i symlink(),
-
tworzenie par gniazd do komunikacji między procesami za pomocą socket_create_pair() i stream_socket_pair(), z których pierwsza została wycofana w wersji 4.3.0 z powodu błędu,
-
nanodrzemki za pomocą funkcji time_nanosleep i oczekiwanie do określonego czasu za pomocą time_sleep_until().
Zmiany te zapewniają lepszą kompatybilność i ułatwią Ci pracę nad projektami, jeżeli masz środowisko testowe na Windows, a serwer na Linuksie.
«poprzednia 1 2 3 4 następna »
Komentarze
Aby dodać komentarz, musisz podać swój nick, treść komentarza oraz poprawnie przepisać oba słowa z obrazka
(słowa muszą być rozdzielone spacją).
W treści komentarza można używać języka formatowania BBcode.
Popularne
Nazwa padła ofiarą szantażystów, inni polscy hosterzy też zagrożeni?
19
Premiera Diablo 3 wzbudziła dyskusję na temat gier, które zawsze chcą być online
19
Darmowy Internet od Aero2. Jak go zdobyć i jakie są prawdziwe koszta? Instrukcja krok po kroku
11
Programowanie w środowisku Android – wprowadzenie do projektowania aplikacji dla urządzeń mobilnych
17
Nowy problem z Windows 8: bootuje się za szybko
10
Amerykańscy rodzice straszeni „e-narkotykami” dostępnymi w Sieci
21
Z okazji wypuszczenia akcji Facebooka przypomnijmy sobie, kim jest Zuckerberg
10
Blueseed: libertariańska sztuczna wyspa przyciągnęła już ponad sto startupów z całego świata
8
Rewolucja w Firefoksie, nowa łatka czterokrotnie ograniczyła zużycie pamięci
20
Darmowy Internet od Aero2. Jak go zdobyć i jakie są prawdziwe koszta? Instrukcja krok po kroku
11
CVDazzle: makijaż jest w stanie pokonać automatyczne systemy ulicznego monitoringu
3
Programowanie w środowisku Android – wprowadzenie do projektowania aplikacji dla urządzeń mobilnych
17
Co czeka programistów po czterdziestce?
27
Ubuntu 12.04 LTS już dostępny: stabilna dystrybucja na następne pięć lat?
28
Społeczność
m_gol @_Igancio:
Chyba pomyliłeś gazetę z natemat.pl...
m_gol Niestety na razie nie wszędzie Flasha da się zastąpić, nawet w takich...
stop_gupota "Fanatyczny" Diablo 3 jest dopiero od 10 dni.
Mas Ciekawa informacja, ale akurat projekt wytopu stali przez chłopów to był...
_Igancio Poziom artykułu jest bardzo niski ! Niczego się nie dowiedziałem , wygląda...
voluu A ja mam problem. MIanowicie, po dodaniu kodu z tego poradnika miniaturki...
Sebek Pozycjonowanie stron za pośrednictwem firm oferujących
swoje usługi nie...
- Najdmen.pl: Konta www z wyłączonym licznikiem transferu od IONIC.pl (1)
- 2BE.PL: [Oferta] Promocja jak złoto w 2BE.PL (1)
- gardius: Dobra hurtownia sportowa (1)
- gardius: Tanie książki gdzie warto kupować? (1)
- Najdmen.pl: PROMOCJA, 500 DOMEN .EU ZA 1 PLN NETTO ! (1)
- VMLine: [Oferta] Serwery VPS Xen-HVM/OpenVZ z darmową administracją (2)
- Marek: Generowanie PDFa (2)
Polecane książki
Praca
Czytaj Webhosting
Chcesz być na bieżąco z naszymi informacjami? Zapisz się na Newsletter.
Zarejestruj domenę
Sprawdź dostępność swojej domeny:
| .pl: | 0 zł | .com: | 19.90 zł | |
|---|---|---|---|---|
| .com.pl: | 0 zł | .eu: | 19.90 zł |









#1 Kocurro 2011-05-11 14:51:00 0
IP: 212.191.87.[...] Mozilla/5.0 (Windows NT 5.1) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.65 Safari/534.24
#2 zeit 2011-05-11 23:49:01 0
IP: 94.231.60.[...] Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.65 Safari/534.24
#3 tomaszs® 2011-05-11 23:55:47 0
IP: 89.74.21.[...] Mozilla/5.0 (Windows NT 6.0; rv:2.0.1) Gecko/20100101 Firefox/4.0.1
#4 hipertracker® 2011-05-12 00:36:03 0
IP: 78.16.31.[...] Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_7) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.65 Safari/534.24
#5 hipertracker® 2011-05-12 01:00:47 0
IP: 78.16.31.[...] Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_7) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.65 Safari/534.24
#6 leszlo 2011-05-17 18:56:47 0
IP: 83.11.211.[...] Mozilla/5.0 (X11; Linux i686; rv:2.0.1) Gecko/20100101 Firefox/4.0.1
#7 murwazy® 2011-05-18 08:24:53 0
IP: 89.79.188.[...] Opera/9.80 (Windows NT 6.1; U; pl) Presto/2.8.131 Version/11.10
#8 hipertracker® 2011-05-18 12:42:24 0
IP: 212.17.52.[...] Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0.1) Gecko/20100101 Firefox/4.0.1
#9 tomaszs® 2011-05-18 13:24:57 0
IP: 89.74.21.[...] Mozilla/5.0 (Windows NT 6.0; rv:2.0.1) Gecko/20100101 Firefox/4.0.1
#10 murwazy® 2011-05-18 13:47:23 0
IP: 89.79.188.[...] Opera/9.80 (Windows NT 6.1; U; pl) Presto/2.8.131 Version/11.10
#11 hipertracker® 2011-05-18 14:07:07 0
IP: 212.17.52.[...] Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0.1) Gecko/20100101 Firefox/4.0.1
#12 tomaszs® 2011-05-18 15:01:35 0
IP: 89.74.21.[...] Mozilla/5.0 (Windows NT 6.0; rv:2.0.1) Gecko/20100101 Firefox/4.0.1
#13 tomaszs® 2011-05-18 15:06:58 0
IP: 89.74.21.[...] Mozilla/5.0 (Windows NT 6.0; rv:2.0.1) Gecko/20100101 Firefox/4.0.1
#14 murwazy® 2011-05-18 15:41:50 0
IP: 89.79.188.[...] Opera/9.80 (Windows NT 6.1; U; pl) Presto/2.8.131 Version/11.10
#15 tomaszs® 2011-05-18 16:41:12 0
IP: 89.74.21.[...] Mozilla/5.0 (Windows NT 6.0; rv:2.0.1) Gecko/20100101 Firefox/4.0.1
#16 murwazy® 2011-05-19 08:50:51 0
IP: 89.79.188.[...] Opera/9.80 (Windows NT 6.1; U; pl) Presto/2.8.131 Version/11.11
#17 Michcio 2011-05-26 07:15:51 0
IP: 46.21.213.[...] Mozilla/5.0 (X11; Linux i686; rv:2.0.1) Gecko/20100101 Firefox/4.0.1
#18 tomaszs® 2011-05-29 09:04:35 0
IP: 89.74.21.[...] Mozilla/5.0 (Windows NT 6.0; rv:2.0.1) Gecko/20100101 Firefox/4.0.1
#19 tomaszs® 2011-05-29 09:06:25 0
IP: 89.74.21.[...] Mozilla/5.0 (Windows NT 6.0; rv:2.0.1) Gecko/20100101 Firefox/4.0.1