PHP 7 10 ting du trenger å vite
Er du en webutvikler eller en nettsideeier? Kjør dine nettsteder på PHP-aktivert CMS som WordPress, Drupal, Joomla eller Magento? Da har jeg gode nyheter for deg: funksjonen-komplett beta av den nye PHP 7 ble nylig utgitt. Den 7.0.0 store versjonen inneholder så mange kule funksjoner som vi bestemte oss for å tilegne et helt innlegg til det. Men først må vi skyve på noen få påminnelser.
Legg merke til at PHP 7 fortsatt er i utviklingsfasen ikke bruk den i produksjon til november da siste versjon vil bli utgitt. Hvis du som en fremtidig bruker ønsker å ta en rettferdig andel fra utviklingsprosessen, kan du hjelpe deg med å laste ned den nyeste betaen, spille rundt med den i testmiljøet og rapportere feilene du oppdaget under testingen. For å finne ut når neste beta vil være ute, her er prosjektplanen.
Med det ut av veien, la oss sjekke ut PHP 7.
1. Navnet er PHP 7 (ikke 6)
Den nåværende stabile versjonen bruker versjonen PHP 5.6. Etter noen uenighet besluttet utviklingslaget at de ville utelate PHP 6-navnet til neste store utgivelse. PHP 6 eksisterte allerede tidligere som et eksperimentelt prosjekt, men aldri nådd produksjonsfasen.
For å hindre brukere i å blande opp det tidligere forsøket med den nyeste utviklingen, vil den nye store utgivelsen kjøre under navnet PHP 7.
2. Brand Spanking New Zend Engine
Zend-motoren har slått på PHP siden 1999 da den ble introdusert med den nye PHP 4-utgivelsen. Send - ikke forvirret med Zend Framework - er en åpen kildekode-utførelsesmotor skrevet i C som tolker PHP-språket. Den nåværende PHP 5.X-serien bruker Zend Engine II som forbedret funtionalality av den innledende motoren og legger til en utvidbar objektmodell og a betydelig forbedring av ytelsen til språket.
PHP 7 mottar en helt ny versjon av motoren som kommer under kodenavnet til PHP # NG (Next Generation).
3. To ganger hastigheten
Den mest gjenkjennbare fordelen med den nye PHPNG-motoren er den betydelige ytelsesforbedringen. Utviklingslaget av PHPNG refactored Zend Engine, og bemerkelsesverdig optimalisert minnebruk.
Resultatene? Du kan se resultatpoengene som tilbys av Zend Performance Team nedenfor. Ved å bruke PHP 7 ikke bare Koden din vil bli utført raskere men du vil også trenger færre servere til å betjene samme antall brukere.
4. Tilrettelegger feilhåndtering
For å si mildt, har håndtering av fatale og fengslbare fatale feil aldri vært en enkel oppgave for PHP-kodere. Den nye Motor unntak vil tillate deg å erstatte slike feil med unntak. Hvis unntaket ikke er fanget, vil PHP fortsette å returnere de samme dødelige feilene som det gjør i den nåværende 5.X-serien.
Den nye \ EngineException objekter strekker seg ikke ut \Unntak Base klasse. Dette sikrer kompatibilitet bakover og resulterer i to forskjellige unntak ved feilhåndtering: tradisjonell og motor unntak.
For å aktivere programmerere å fange begge, introduserer PHP 7 en ny delt foreldre klasse under navnet \ BaseException.
5. 64-biters Windows System Support
PHP er et fremtredende medlem av LAMP-stakken, noe som betyr at det opprinnelige miljøet er Linux - men det er også mulig å kjøre det på et Windows-system. 5.X-serien gir ennå ikke 64-biters helt eller stor filstøtte, så til nå har x64-byggene blitt vurdert eksperimentell.
PHP 7 vil endre dette som det introduserer konsekvent 64-biters støtte som betyr både innfødte 64-biters heltall og store filer vil bli støttet, slik at du trygt kan kjøre språket på 64-bits Windows-systemet i fremtiden.
6. Nytt romskip og Null Coalescing Operatører
De Romskipoperatør kjører under det offisielle navnet til kombinert sammenligningsoperatør. Notatet til den nye operatøren ser slik ut: <=>
(slags som et forenklet romskip, hvis du forestiller deg det riktig).
Romskipoperatøren returnerer 0 hvis begge operandene er like, 1 hvis venstre er større, og -1 hvis høyre er større. Det kalles også a treveis sammenligning operatør, og den eksisterer allerede i andre populære programmeringsspråk som Perl og Ruby.
Null Coalescing operatøren er betegnet med to spørsmålstegn (??). Du kan bruke den når du vil kontrollere om noe eksisterer og returnere en standardverdi, i tilfelle det ikke gjør det. Coalesce-operatøren returnerer resultatet av sin første operand hvis den eksisterer og ikke er null, og den andre operand i andre tilfeller.
Slik reduserer den nye operatøren tiden med grunndeklarasjoner:
7. Aktiverer nøyaktige typedeklarasjoner
Har du noen gang ønsket å forhindre utilsiktede returverdier ved å erklære returtypen til en funksjon? Vel, det nye PHP 7 gjør det mulig for utviklere å forbedre kvaliteten på koden ved hjelp av returnertypedeklarasjoner.
Bildet nedenfor viser en veldig enkel brukstilstand der foo () funksjonen skal returnere en matrise. Sjekk ut mer kompliserte eksempler her.
For å forbedre funksjonen enda mer, introduserer PHP 7 4 nye typedeklarasjoner for skalarer: int, flyte, streng og bool. De nye skalar-typene tillater utviklere å betegne at de forventer heltall, flyter, strenger eller booleaner som skal returneres. De nye skalar typene introdusert av PHP 7 vil også bli støttet av argument Type Hint som gjør det mulig for utviklere å tvinge typen parametere siden PHP 5.X serien.
8. legger til anonyme klasser
PHP 7 lar deg bruke anonyme klasser, allerede en veletablert praksis i andre objektorienterte språk som C # og Java. En anonym klasse er en klasse uten navn. Objektet det instantiates har samme funksjonalitet som et objekt av en navngitt klasse.
Syntaxen er den samme som hva vi er vant til i tradisjonelle PHP-klasser, bare navnet mangler. Hvis anonyme klasser blir brukt godt, kan de øke hastigheten på kodingen og gjennomføringstiden. Anonyme klasser er gode når en klasse bare brukes en gang under utførelsen, og i tilfeller der en klasse ikke trenger å bli dokumentert.
9. Tilrettelegger import fra samme navneområde
Den nye funksjonen for bruk av gruppegjennomgang vil bli godset til de som vil importere mange klasser fra samme navneområde. Den nye syntaksen reduserer verbositet, gjør koden enklere og lettere på øynene, og sparer mye skrivetid.
Det vil også være lettere å lese gjennom og feilsøkingskoder, da gruppebruksdeklarasjoner hjelper deg med å identifisere importen som tilhører samme modul.
10. Rydder opp rommet
Målet med PHP 7 var å frigjøre plassen for å muliggjøre forbedring, så det var nødvendig å kvitte seg med mange utdaterte funksjoner og gamle og ikke-støttede server-APIer og utvidelser. Hvis du vil sjekke hvilke som er i detalj, klikk her og her.
Alle de fjernede elementene har blitt deprecated for en stund i PHP 5, så sannsynlig at du ikke har brukt dem i lang tid. Vær imidlertid oppmerksom på om du har en eldre app kjører på eldre PHP-versjoner den nye PHP 7-kanalen potensielt bryte koden.