PHP 7 10 rzeczy, które musisz wiedzieć
Czy jesteś programistą lub właścicielem witryny? Czy Twoje strony działają na CMS z włączonym PHP, takim jak WordPress, Drupal, Joomla lub Magento? Potem mam dla ciebie dobrą wiadomość: kompletną wersję beta nowej PHP 7 został niedawno wydany. Główna wersja 7.0.0 zawiera tak wiele fajnych funkcji, że postanowiliśmy poświęcić jej cały post. Ale najpierw musimy przesuwać kilka przypomnień.
Zauważ, że PHP 7 jest nadal w fazie rozwoju nie używaj go w produkcji do listopada, kiedy wersja ostateczna zostanie opublikowane. Jeśli - jako przyszły użytkownik - chcesz wziąć swój sprawiedliwy udział w procesie rozwoju, możesz pomóc w pobraniu najnowszej wersji beta, bawiąc się nią w swoim środowisku testowym i zgłaszając błędy znalezione podczas testowania. Aby dowiedzieć się, kiedy wygaśnie kolejna wersja beta, zapoznaj się z harmonogramem projektu.
Z tym wyjdziemy, sprawdźmy PHP 7.
1. Nazwa PHP 7 (nie 6)
Obecne wydanie stabilne używa numeru wersji PHP 5.6. Po pewnym sporze zespół deweloperów zdecydował, że pominie nazwę PHP 6 dla następnej wersji głównej. PHP 6 istniał już w przeszłości jako projekt eksperymentalny, ale nigdy nie osiągnął fazy produkcji.
Aby uniemożliwić użytkownikom mieszanie poprzedniej próby z najnowszą wersją, nowa wersja główna będzie działać pod nazwą PHP 7.
2. Marka Klepanie nowego silnika Zend
Silnik Zend zasila PHP od 1999 roku, kiedy został wprowadzony wraz z nową wersją PHP 4. Zend - nie mylić z Zend Framework - to silnik wykonawczy open-source napisany w C, który interpretuje język PHP. Obecna seria PHP 5.X Zend Engine II to zwiększyło funkcjonalność początkowego silnika i dodaje rozszerzalny model obiektu i a znaczące zwiększenie wydajności do języka.
PHP 7 otrzymuje nową wersję silnika pod nazwą kodową PHP # NG (Next Generation).
3. Dwa razy szybciej
Najłatwiej rozpoznawalną zaletą nowego silnika PHPNG jest znaczna poprawa wydajności. Zespół programistów PHPNG zreorganizował silnik Zend i znacznie zoptymalizował wykorzystanie pamięci.
Wyniki? Możesz zobaczyć wyniki testów wydajności dostarczone przez Zend Performance Team poniżej. Używając PHP 7 nie tylko Twój kod zostanie wykonany szybciej ale ty też potrzebujesz mniej serwerów, aby obsłużyć taką samą liczbę użytkowników.
4. Ułatwia obsługę błędów
Mówiąc najprościej, obsługa krytycznych i dających się złapać błędów krytycznych nigdy nie była łatwym zadaniem dla programistów PHP. Nowa Wyjątki od silnika pozwoli Ci zastąpić tego rodzaju błędy wyjątkami. Jeśli wyjątek nie zostanie przechwycony, PHP będzie nadal zwracał te same błędy krytyczne, co w bieżącej serii 5.X..
Nowa Wyjątek silnika obiekty nie rozszerzają \Wyjątek Klasa podstawowa. Zapewnia to kompatybilność wsteczną i powoduje dwa różne rodzaje wyjątków w obsłudze błędów: tradycyjny i wyjątki od silnika.
Aby umożliwić programistom złapanie obu, PHP 7 wprowadza nowy wspólna klasa macierzysta pod nazwą Wyjątek BaseException.
5. Obsługa 64-bitowych systemów Windows
PHP jest znaczącym członkiem stosu LAMP, co oznacza, że jego rodzimym środowiskiem jest Linux - ale możliwe jest także uruchomienie go w systemie Windows. Seria 5.X nie zapewnia jeszcze obsługi 64-bitowej liczby całkowitej lub dużego pliku, więc do tej pory uwzględniono kompilacje x64 eksperymentalny.
PHP 7 zmieni to wprowadza spójną obsługę 64-bitową co oznacza, że obsługiwane będą zarówno natywne 64-bitowe liczby całkowite, jak i duże pliki, co pozwoli na bezpieczne uruchamianie języka w 64-bitowym systemie Windows w przyszłości.
6. Nowe operatory koalescencji statku kosmicznego i zerowego
The Operator statku kosmicznego działa pod oficjalną nazwą Combined Compare Operator. Zapis nowego operatora wygląda tak: <=>
(trochę jak uproszczony statek kosmiczny, jeśli dobrze to sobie wyobrażasz).
Operator kosmiczny zwraca 0, jeśli oba operandy są równe, 1 jeśli lewy jest większy, a -1, jeśli prawo jest większe. Nazywa się to również trójdrożny operator porównania, i już istnieje w innych popularnych językach programowania, takich jak Perl i Ruby.
Operator Null Coalescing jest oznaczony dwoma znakami zapytania (??). Możesz go użyć, gdy chcesz sprawdzić, czy coś istnieje i zwrócić wartość domyślną, na wypadek gdyby tak się nie stało. Operator koalescencji zwraca wynik swojego pierwszego argumentu, jeśli istnieje i nie jest zerowy, a drugi argument operacji w innych przypadkach.
Oto, jak nowy operator skraca czas poświęcony na podstawowe deklaracje:
7. Włącza dokładne deklaracje typów
Czy kiedykolwiek chciałeś zapobiec niezamierzonym wartościom zwrotnym, deklarując typ powrotu funkcji? Nowy PHP 7 umożliwia programistom poprawę jakości kodu za pomocą deklaracji typu zwrotu.
Poniższy obraz przedstawia bardzo prosty przypadek użycia, w którym bla() funkcja ma zwracać tablicę. Sprawdź tutaj bardziej skomplikowane przykłady.
Aby jeszcze bardziej ulepszyć tę funkcję, PHP 7 wprowadza 4 nowe deklaracje typów dla typów skalarnych: int, float, string i bool. Nowe typy skalarne umożliwiają programistom oznaczenie, że spodziewają się zwracać liczby całkowite, zmiennoprzecinkowe, łańcuchy lub booleany. Nowe typy skalarne wprowadzone przez PHP 7 będą również obsługiwane przez argumenty typu Wskazówki, które umożliwiają programistom wymuszenie typu parametrów od serii PHP 5.X.
8. Dodaje anonimowe klasy
PHP 7 umożliwia używanie anonimowych klas, które są już dobrze znaną praktyką w innych językach obiektowych, takich jak C # i Java. Klasa anonimowa to klasa bez nazwy. Obiekt, którego instancję tworzy, ma taką samą funkcjonalność jak obiekt nazwanej klasy.
Składnia jest taka sama, jak w tradycyjnych klasach PHP, brakuje tylko nazwy. Jeśli anonimowe klasy są dobrze używane, mogą przyspieszyć kodowanie i czas wykonania. Anonimowe klasy są doskonałe, gdy klasa jest używana tylko raz podczas wykonywania iw przypadkach, gdy klasa nie musi być dokumentowana.
9. Ułatwia importowanie z tej samej przestrzeni nazw
Nowa funkcja deklaracji użycia grupy będzie godsent do tych, którzy chcą importuj wiele klas z tej samej przestrzeni nazw. Nowa składnia obcina gadatliwość, czyni twój kod porządniejszym i łatwiejszym dla oczu i oszczędza dużo czasu na pisanie.
Łatwiej będzie także odczytywać i debugować kody, ponieważ deklaracje użycia grup pomagają zidentyfikować import, który należy do tego samego modułu.
10. Czyści pokój
Celem PHP 7 było zwolnienie miejsca, aby umożliwić ulepszenia, więc konieczne było pozbycie się wielu przestarzałych funkcji oraz starych i nieobsługiwanych interfejsów API i rozszerzeń serwera. Jeśli chcesz sprawdzić, które są szczegółowe, kliknij tutaj i tutaj.
Wszystkie usunięte elementy były przez jakiś czas przestarzałe w PHP 5, więc najprawdopodobniej nie korzystałeś z nich przez długi czas. Pamiętaj jednak, że masz starszą aplikację działa na starszych wersjach PHP nowy PHP 7 może potencjalnie złamać kod.