PHP 7 10 Mida on vaja teada
Kas olete veebi arendaja või veebisaidi omanik? Kas teie saidid töötavad PHP-toega CMS-is nagu WordPress, Drupal, Joomla või Magento? Siis on mul hea uudis: uue funktsiooni täielik beeta PHP 7 avati hiljuti. 7.0.0 peamine väljaanne sisaldab nii palju lahedaid funktsioone, et me otsustasime sellele kogu postituse pühendada. Kuid kõigepealt peame mõned meeldetuletused libistama.
Pange tähele, et PHP 7 on veel arendusetapis ärge seda tootmisel kasutage kuni novembrini, kui lõplik versioon vabastatakse. Kui soovid tulevase kasutajana oma õiglast osakaalu arendusprotsessist aidata, saate aidata alla laadida uusimat beetaversiooni, mängida sellega koos oma testimiskeskkonnas ja teatada testide käigus leitud vigadest. Et teada saada, millal järgmine beetaversioon on läbi viidud, on siin projekti ajakava.
Sellest väljas, vaadake PHP 7-st.
1. Nime PHP 7 (mitte 6)
Praegune stabiilne versioon kasutab versiooni numbrit PHP 5.6. Mõne vaidluse korral otsustas arendusmeeskond, et nad jätavad PHP 6 nime välja järgmise suure väljalaske jaoks. PHP 6 eksisteeris juba varem eksperimentaalse projektina, kuid ei jõudnud kunagi tootmisetappi.
Et vältida kasutajate endise katse viimaste arendustega segunemist, käivitatakse uus suur väljaanne PHP 7 nime all.
2. Uue Zend-mootori markeerimine
Zend-mootor on käivitanud PHP alates 1999. aastast, kui see võeti kasutusele uue PHP 4 versiooniga. Zend - mitte segi ajada Zend Frameworkiga - on avatud lähtekoodiga täitemootor, mis on kirjutatud C-s, mis tõlgendab PHP keelt. Praegune PHP 5.X seeria kasutamine Zend Engine II mis suurendas algmootori lõbusust ja lisab laiendatav objekti mudel ja a märkimisväärne tulemuslikkuse parandamine keelele.
PHP 7 saab uue mootori versiooni, mis kuulub PHP # NG (järgmise põlvkonna) koodinime alla.
3. Kaks korda kiirus
Uue PHPNG mootori kõige kergemini äratuntav eelis on oluline jõudluse paranemine. PHPNG arendusmeeskond ehitas Zend Engine'i ümber ja märkimisväärselt optimeeris mälu kasutamist.
Tulemused? Allpool leiate Zend Performance Team'i esitatud tulemuslikkuse võrdlusnäitajad. Kasutades PHP 7 mitte ainult teie kood täidetakse kiiremini aga sa ka vajavad vähem servereid, et teenida sama palju kasutajaid.
4. hõlbustab vigade käsitlemist
Vähemalt öeldes ei ole surmavate ja püüdlike surmavate vigade käsitlemine PHP kooderite jaoks kunagi olnud kerge ülesanne. Uus Mootori erandid võimaldab teil asendada need vead eranditega. Kui erandit ei püütud, jätkab PHP samade surmavate vigade tagastamist nagu praeguses 5.X-seerias.
Uus EngineException objektid ei pikenda Erand Põhiklass. See tagab tagasiside ühilduvuse ja põhjustab vigade käsitlemisel kahte erinevat erandit: traditsiooniline ja mootori erandeid.
Selleks, et programmeerijad saaksid mõlemat püüda, tutvustab PHP 7 uut jagatud vanemaklass nime all Alusvõimalus.
5. 64-bitine Windowsi süsteemitugi
PHP on LAMP stacki silmapaistev liige, mis tähendab, et tema emakeel on keskkond Linux, kuid see on võimalik ka Windowsi süsteemis. 5.X-seeria ei paku veel 64-bitist täisarvu või suurt failitoetust, nii et seni on kaalutud x64 ehitamist katseline.
PHP 7 muudab seda nii tutvustab järjepidevat 64-bitist tuge see tähendab, et toetatakse nii natiivseid 64-bitisi täisarvu kui ka suuri faile, mis võimaldavad teil tulevikus oma 64-bitises Windowsi süsteemis keelt kindlalt käivitada.
6. Uued kosmoselaevad ja nullkoordineerivad operaatorid
The Kosmoselaeva operaator toimib kombineeritud võrdlusettevõtja ametliku nime all. Uue operaatori märge näeb välja selline: <=>
(nagu lihtsustatud kosmoselaev, kui sa seda ette kujutad).
Kosmoseaparaadi operaator tagastab 0, kui mõlemad operandid on võrdsed, 1 kui vasak on suurem ja -1, kui parem on suurem. Seda nimetatakse ka a kolmepoolne võrdlusoperaator, ja see on juba olemas teistes populaarsetes programmeerimiskeeles nagu Perl ja Ruby.
Null Coalescing'i operaatorit tähistatakse kahe küsimustikuga (??). Võite seda kasutada, kui soovite kontrollida, kas midagi eksisteerib, ja tagastab vaikeväärtuse juhul, kui seda ei tehta. Koalseerumise operaator tagastab oma esimese operandi tulemuse, kui see on olemas ja ei ole null, ja teine operand muudel juhtudel.
Uus operaator vähendab põhideklaratsioonidega kuluvat aega:
7. Võimaldab täpset tüüpi deklaratsioone
Kas olete kunagi tahtnud vältida tahtmatuid tagastamisväärtusi, deklareerides funktsiooni tagasipöördumistüüpi? Noh, uus PHP 7 võimaldab arendajatel parandada oma koodi kvaliteeti tagastamise tüübi deklaratsioonide abil.
Allolev pilt kujutab väga lihtsat kasutust, kus foo () funktsioon peaks tagastama massiivi. Vaadake siin keerulisemaid näiteid.
Funktsiooni veelgi täiustamiseks tutvustab PHP 7 skalari tüüpi nelja uut tüüpi deklaratsiooni: int, float, string ja bool. Uued skalaaritüübid võimaldavad arendajatel tähistada, et nad ootavad täisarvu, ujukeid, stringe või booleere tagastamist. PHP 7 poolt kasutusele võetud uusi skalaaritüüpe toetavad ka argument Type Hints, mis võimaldab arendajatel jõuda parameetrite tüübist alates PHP 5.X seeriast.
8. Lisab anonüümsed klassid
PHP 7 võimaldab teil kasutada anonüümseid klasse, mis on juba väljakujunenud praktika teistes objektorienteeritud keeltes nagu C # ja Java. Anonüümne klass on klass ilma nimeta. Objektil, mida ta edastab, on sama funktsionaalsus kui nimetatud klassi objektil.
Süntaks on sama, mida oleme harjunud traditsioonilistes PHP klassides, ainult nimi on puudu. Kui anonüümseid klasse kasutatakse hästi, saavad nad seda teha kiirendada kodeerimist kui ka täitmise aega. Anonüümsed klassid on suurepärased, kui klassi kasutatakse täitmisel ainult üks kord ja juhul, kui klassi ei ole vaja dokumenteerida.
9. hõlbustab sama nimeruumi importimist
Uus grupikasutuse deklaratsioonide funktsioon on jumalik neile, kes tahavad importida paljusid klasse samast nimeruumist. Uus süntaks lõikab verbilisust, muudab teie koodi silmadele lihtsamaks ja säästab palju kirjutamisaega.
Samuti on lihtsam lugeda ja siluda koodid, kuna grupikasutuse deklaratsioonid aitavad teil tuvastada sama mooduli impordi.
10. Puhastab ruumi
PHP 7 eesmärk oli vabastada ruumi parandamise võimaldamiseks, seega oli vaja vabaneda paljudest vananenud funktsioonidest ning vanadest ja toetamata serverirakendustest ja laiendustest. Kui soovite kontrollida, millised need on üksikasjalikult, klõpsake siin ja siin.
Kõik eemaldatud üksused on mõnda aega kaotatud PHP 5-s, nii et te ei ole neid tõenäoliselt pikka aega kasutanud. Pange tähele, kui teil on pärandvara vanemate PHP versioonidega uus PHP 7 saab koodi rikkuda.