PHP 7 10 dalykų, kuriuos reikia žinoti
Ar esate interneto kūrėjas ar svetainės savininkas? Ar jūsų svetainės veikia su PHP palaikomomis CMS, pvz., „WordPress“, „Drupal“, „Joomla“ ar „Magento“? Tada aš turiu jums geras naujienas: pilnas naujojo beta elementas PHP 7 neseniai buvo išleistas. Pagrindiniame 7.0.0 leidime yra tiek daug puikių funkcijų, apie kurias nusprendėme skirti visą įrašą. Tačiau, pirma, turime pridėti keletą priminimų.
Atkreipkite dėmesį, kad PHP 7 vis dar yra kūrimo etape nenaudokite jo gamyboje iki lapkričio mėn Galutinė versija Bus išleistas. Jei, kaip būsimas vartotojas, norėtumėte pasinaudoti savo sąžininga dalimi iš kūrimo proceso, galite padėti atsisiųsti naujausią beta versiją, žaisti aplink jį bandymų aplinkoje ir pranešti apie klaidas, kurias radote bandymo metu. Norėdami sužinoti, kada bus išleistas kitas beta versija, čia yra projekto tvarkaraštis.
Su tuo nepadarę, patikrinkime PHP 7.
1. Vardas PHP 7 (ne 6)
Dabartinis stabilus spaudai naudojamas versijos numeris PHP 5.6. Po tam tikro ginčo vystymo komanda nusprendė praleisti PHP 6 pavadinimą kitam pagrindiniam spaudai. PHP 6 jau egzistavo kaip eksperimentinis projektas, bet niekada nepasiekė gamybos etapo.
Kad vartotojai nebūtų sumaišę ankstesnio bandymo su naujausia plėtra, naujasis pagrindinis leidimas bus paleistas pagal PHP 7 pavadinimą.
2. Naujo „Zend“ variklio sukibimas
„Zend“ variklis maitina PHP nuo 1999 m., Kai jis buvo pristatytas su naujuoju PHP 4 leidimu. Zendas - ne supainioti su „Zend Framework“ - tai atviro kodo vykdymo variklis, parašytas C, kuris interpretuoja PHP kalbą. Naudojama dabartinė PHP 5.X serija Zend Engine II kad padidino pradinio variklio funtionality ir prideda išplėstinio objekto modelis ir a reikšmingas našumo didinimas kalbą.
PHP 7 gauna visiškai naują variklio versiją, kuriai priskiriamas PHP # NG kodas (naujos kartos).
3. Dvigubas greitis
Lengviausiai atpažįstamas naujosios „PHPNG“ variklio privalumas yra didelis našumo gerinimas. „PHPNG“ kūrimo komanda atnaujino „Zend Engine“ ir puikiai optimizavo atminties naudojimą.
Rezultatai? Žemiau galite matyti „Zend Performance Team“ teikiamus veiklos rodiklius. Naudojant PHP 7 ne tik jūsų kodas bus įvykdytas greičiau bet jūs taip pat reikia mažiau serverių, kad būtų naudojamas toks pat vartotojų skaičius.
4. Palengvina klaidų apdorojimą
Mažiausiai kalbant apie mirtinų ir sužlugdytų mirtinų klaidų tvarkymą niekada nebuvo paprasta užduotis PHP koduotojams. Nauja Variklio išimtys leis jums pakeisti šias klaidas su išimtimis. Jei ši išimtis nebus sugauta, PHP ir toliau grąžins tas pačias mirtinas klaidas, kaip ir dabartinėje 5.X serijoje.
Nauja „EngineException“ objektai nepratęsia Išimtis Bazinė klasė. Tai užtikrina atgalinį suderinamumą ir du skirtingus klaidų sprendimo būdus: tradicinis ir variklių išimtys.
Kad programuotojai galėtų sugauti abu, PHP 7 pristato naują Bendra tėvų klasė vardan „BaseException“.
5. 64 bitų „Windows“ sistemų palaikymas
PHP yra žinomas LAMP kamino narys, o tai reiškia, kad jo gimtoji aplinka yra „Linux“, tačiau taip pat galima ją paleisti „Windows“ sistemoje. 5.X serija dar nesuteikia 64 bitų skaičiaus ar didelio failų palaikymo, todėl iki šiol buvo atsižvelgta į x64 kūrinius eksperimentinis.
PHP 7 tai pakeis įdiegiama nuosekli 64 bitų parama tai reiškia, kad bus palaikomi tiek vietiniai 64 bitų skaičiai, tiek dideli failai, todėl ateityje galėsite patikimai paleisti 64 bitų „Windows“ sistemą..
6. Nauji erdvėlaiviai ir „Null Coalescing“ operatoriai
The Kosminio laivo operatorius veikia pagal oficialų Kombinuoto palyginimo operatoriaus pavadinimą. Naujo operatoriaus žymėjimas atrodo taip: <=>
(panašus į supaprastintą erdvėlaivį, jei įsivaizduojate tai teisingai).
Erdvėlaivių operatorius grąžina 0, jei abu operandai yra lygūs, 1, jei kairė yra didesnė, ir -1, jei teisė yra didesnė. Tai taip pat vadinama a trijų krypčių palyginimo operatorius, ir ji jau yra kitose populiariose programavimo kalbose, tokiose kaip Perl ir Ruby.
„Null Coalescing“ operatorius žymimas dviem klausimų ženklais (??). Jį galite naudoti, jei norite patikrinti, ar yra kažkas, ir grąžinti numatytąją vertę, jei ne. Susijungimo operatorius grąžina savo pirmojo operando rezultatą, jei jis egzistuoja ir nėra nulinis, o antrasis operandas bet kokiais kitais atvejais.
Štai kaip naujas operatorius sumažina laiką, praleistą su pagrindinėmis deklaracijomis:
7. Leidžia tikslias deklaracijas
Ar kada nors norėjote užkirsti kelią nenumatytoms grąžinimo vertėms deklaruodami funkcijos grąžinimo tipą? Na, naujoji PHP 7 leidžia kūrėjams pagerinti savo kodo kokybę naudojant grąžinimo tipo deklaracijas.
Žemiau esančiame paveikslėlyje pavaizduotas labai paprastas naudojimo atvejis, kai foo () funkcija turėtų grąžinti masyvą. Čia rasite sudėtingesnių pavyzdžių.
Norėdami dar labiau pagerinti funkciją, PHP 7 įdiegia keturias naujas skalarinių tipų deklaracijas: int, float, string ir bool. Nauji skalarų tipai leidžia kūrėjams nurodyti, kad jie tikisi, kad bus grąžinti sveikieji skaičiai, plūdės, stygos ar booleans. Nauji PHP 7 įdiegti skalarų tipai taip pat bus palaikomi argumento Tipo patarimais, kurie leidžia kūrėjams priversti parametrų tipą nuo PHP 5.X serijos.
8. Prideda anonimines klases
PHP 7 leidžia jums naudoti anonimines klases, jau nusistovėjusią praktiką kitose objekto kalbose, pvz., C # ir Java. Anoniminė klasė yra klasė be pavadinimo. Objektas, kurį jis pateikia, turi tą pačią funkciją kaip ir pavadintos klasės objektas.
Sintaksė yra tokia pati, kaip ir tradicinėse PHP klasėse, tik trūksta pavadinimo. Jei anoniminės klasės naudojamos gerai, jos gali pagreitinti kodavimą ir vykdymo laiką. Anonimiškos klasės yra puikios, kai klasė atliekama tik vieną kartą vykdymo metu ir tais atvejais, kai klasė neturi būti dokumentuojama.
9. Palengvina importą iš tos pačios vardų erdvės
Naujoji grupės naudojimo deklaracijų funkcija bus beprasmiška tiems, kurie nori importuoti daug klasių iš tos pačios vardų vietos. Naujasis sintaksė supjaustys, daro kodą paprastesnį ir lengvesnį ant akių ir sutaupo daug rašymo laiko.
Taip pat bus lengviau skaityti ir ištaisyti kodus, nes grupės naudojimo deklaracijos padeda nustatyti tą patį modulį atitinkantį importą.
10. Valo kambarį
PHP 7 tikslas buvo atlaisvinti erdvę, kad būtų galima patobulinti, taigi buvo būtina atsikratyti daugelio pasenusių funkcijų ir senų bei nepalaikomų serverio API ir plėtinių. Jei norite patikrinti, kurie iš jų yra išsamūs, spustelėkite čia ir čia.
Visi ištrinti elementai jau seniai buvo pasenę PHP 5, todėl greičiausiai jūs jų nenaudojote ilgą laiką. Tačiau atkreipkite dėmesį, jei turite senąją programą veikia senesnėse PHP versijose naujoji PHP 7 gali gali sugadinti kodą.