PHP 7 10 stvari koje trebate znati
Jeste li web developer ili vlasnik web lokacije? Da li vaše web stranice rade na PHP-omogućen CMS kao što su WordPress, Drupal, Joomla ili Magento? Tada imam dobre vijesti za vas: potpuno nova beta značajka PHP 7 nedavno je objavljen. 7.0.0 glavno izdanje sadrži toliko zanimljivih značajki koje smo odlučili posvetiti cijelom postu. Ali prvo, moramo uvući nekoliko podsjetnika.
Napominjemo da je PHP 7 još uvijek u fazi razvoja nemojte ga koristiti u proizvodnji do studenog kada završna verzija biti će pušten. Ako - kao budući korisnik - želite uzeti dobar dio od razvojnog procesa, možete pomoći pri preuzimanju najnovije beta verzije, igranju s njom u okruženju za testiranje i prijavljivanju grešaka koje ste pronašli tijekom testiranja. Da biste saznali kada će sljedeća beta verzija biti objavljena, ovdje je raspored projekta.
Ako to ne učinimo, pogledajmo PHP 7.
1. PHP 7 (ne 6) naziva
Trenutačno stabilno izdanje koristi broj verzije PHP 5.6. Nakon nekog spora, razvojni tim je odlučio da će izostaviti PHP 6 ime za sljedeće veliko izdanje. PHP 6 je u prošlosti već postojao kao eksperimentalni projekt, ali nikada nije došao u fazu proizvodnje.
Kako bi spriječio korisnike da miješaju prethodni pokušaj s najnovijim razvojem, novo veliko izdanje pokrenut će se pod imenom PHP 7.
2. Brand Spanking Novi Zend Engine
Zendov motor pokreće PHP od 1999. kada je uveden s tada novom PHP 4 izdanjem. Zend - ne da bi se zbunio sa Zendovim okvirom - je mehanizam za izvršavanje otvorenog koda pisan u C koji interpretira PHP jezik. Trenutna PHP 5.X serija koristi Zend Engine II što je poboljšalo funkcionalnost početnog motora i dodalo proširiv objektni model i a značajno poboljšanje performansi na jezik.
PHP 7 prima potpuno novu verziju motora pod kodnim imenom PHP # NG (Next Generation).
3. Dvaput brzina
Najlakše prepoznatljiva prednost novog PHPNG motora je značajno poboljšanje performansi. Razvojni tim PHPNG-a preradio je Zend Engine i iznimno optimizirao korištenje memorije.
Rezultati? U nastavku možete vidjeti pokazatelje izvedbe koje pruža Zend tim za izvedbu. Koristeći PHP 7 ne samo Vaš će se kod brže izvršiti ali i vi ćete Potrebno je manje poslužitelja za posluživanje istog broja korisnika.
4. Olakšava rukovanje pogreškama
U najmanju ruku, rukovanje smrtonosnim i uhodljivim fatalnim pogreškama nikad nije bio lak zadatak za PHP kodere. Novi Iznimke motora će vam omogućiti da zamijenite ove vrste pogrešaka iznimkama. Ako iznimka nije uhvaćena, PHP će nastaviti vraćati iste fatalne pogreške kao u trenutnoj 5.X seriji.
Novi \ EngineException objekti ne proširuju \ Izuzetak Osnovna klasa. To osigurava kompatibilnost unatrag i rezultira s dvije različite vrste iznimki u obradi pogrešaka: tradicionalan i iznimke motora.
Da bi programeri mogli uhvatiti oba, PHP 7 uvodi novo zajednička roditeljska klasa pod imenom \ BaseException.
5. Podrška za 64-bitne Windows sustave
PHP je istaknuti član LAMP stack-a što znači da je njegova izvorna okolina Linux - ali je također moguće pokrenuti na Windows sustavu. Serija 5.X još uvijek ne pruža 64-bitnu cjelobrojnu ili veliku datotečnu podršku, tako da su do sada razmatrane x64 gradnje eksperimentalan.
PHP 7 će to promijeniti uvodi dosljednu 64-bitnu podršku što znači da će biti podržani i 64-bitni prirodni brojevi i velike datoteke, što će vam u budućnosti omogućiti pouzdano pokretanje jezika na 64-bitnom sustavu Windows..
6. Novi operateri svemirskog broda i nultog spajanja
Operator svemirskog broda radi pod službenim nazivom Operatora kombinirane usporedbe. Zapis novog operatora izgleda ovako: <=>
(poput pojednostavljenog svemirskog broda, ako ga zamislite kako treba).
Operator svemirskog broda vraća 0 ako su oba operanda jednaka, 1 ako je lijeva veća, i -1 ako je pravo veće. Također se zove a operater za usporedbu u tri smjera, i već postoji u drugim popularnim programskim jezicima kao što su Perl i Ruby.
Operator Null Coalescing označen je s dva upitnika (??). Možete ga koristiti kada želite provjeriti postoji li nešto i vratiti zadanu vrijednost, u slučaju da ne postoji. Operator koalesce vraća rezultat svog prvog operanda ako postoji i nije null, a drugi operand u bilo kojem drugom slučaju.
Evo kako novi operator smanjuje vrijeme provedeno s osnovnim izjavama:
7. Omogućuje precizne deklaracije tipa
Jeste li ikada željeli spriječiti neželjene povratne vrijednosti deklariranjem povratnog tipa funkcije? Pa, novi PHP 7 omogućuje programerima da poboljšaju kvalitetu svog koda uz pomoć deklaracija povratnog tipa.
Slika ispod prikazuje vrlo jednostavan slučaj uporabe foo () funkcija bi trebala vratiti niz. Pogledajte ovdje više kompliciranih primjera.
Da bi još više poboljšao značajku, PHP 7 uvodi 4 nove deklaracije tipa za skalarne tipove: int, float, string i bool. Novi skalarni tipovi omogućuju razvojnim programerima da označe da očekuju da se vraćaju cijeli brojevi, plutači, nizovi ili booleani. Novi skalarni tipovi koje je uveo PHP 7 također će biti podržani argumentom Hints tipa koji programerima omogućuje da prisili vrstu parametara od PHP 5.X serije.
8. Dodaje anonimne klase
PHP 7 vam omogućuje da koristite anonimne klase, već dobro uspostavljenu praksu u drugim objektno-orijentiranim jezicima kao što su C # i Java. Anonimna klasa je klasa bez imena. Objekt koji instalira ima istu funkcionalnost kao objekt imenovane klase.
Sintaksa je ista kao i ona na koju smo navikli u tradicionalnim PHP klasama, nedostaje samo ime. Ako se anonimne klase dobro koriste, mogu ubrzati kodiranje kao i vrijeme izvršenja. Anonimne klase su izvrsne kada se klasa koristi samo jednom tijekom izvršavanja i u slučajevima kada klasa ne mora biti dokumentirana.
9. Olakšava uvoz iz istog prostora imena
Nova značajka Izjava o upotrebi grupe bit će bogata onima koji to žele uvesti mnoge klase iz istog prostora imena. Nova sintaksa smanjuje verbosity, čini vaš kod čišćim i lakšim za oči, i štedi vam puno vremena za tipkanje.
Također će biti lakše čitati i ispravljati kodove, jer vam deklaracije za grupno korištenje pomažu identificirati uvoz koji pripada istom modulu.
10. Čisti sobu
Cilj PHP-a 7 bio je osloboditi prostor kako bi se omogućilo poboljšanje, pa je bilo potrebno ukloniti mnoge zastarjele funkcionalnosti i stare i nepodržane API-je i proširenja poslužitelja. Ako želite provjeriti koje su to pojedinosti, kliknite ovdje i ovdje.
Sve uklonjene stavke neko su vrijeme zastarjele u PHP-u 5, tako da ih najvjerojatnije niste dugo koristili. Međutim, imajte na umu ako imate naslijeđenu aplikaciju radi na starijim PHP verzijama novi PHP 7 može potencijalno razbiti kôd.