PHP 7 10 Ting du behøver at vide
Er du en webudvikler eller en web-ejer? Kører dine websteder på PHP-aktiveret CMS som WordPress, Drupal, Joomla eller Magento? Så har jeg gode nyheder for dig: funktionen - komplet beta af den nye PHP 7 blev for nylig udgivet. Den 7.0.0 store version indeholder så mange flotte funktioner, som vi besluttede at dedikere en hel post til den. Men først skal vi glide i nogle få påmindelser.
Bemærk, at PHP 7 stadig er i udviklingsfasen brug det ikke i produktion indtil november da sidste version vil blive frigivet. Hvis du som fremtidig bruger vil tage din retfærdige andel fra udviklingsprocessen, kan du hjælpe med at downloade den nyeste beta, spille rundt med det i dit testmiljø og rapportere fejl, du fandt under testen. For at finde ud af, hvornår den næste beta er ude, her er projektplanen.
Med det ud af vejen, lad os tjekke PHP 7.
1. Navnet er PHP 7 (Ikke 6)
Den nuværende stabile udgivelse bruger versionsnummeret PHP 5.6. Efter en konflikt besluttede udviklingsholdet at de ville udelade PHP 6-navnet til den næste store udgave. PHP 6 eksisterede allerede tidligere som et eksperimentelt projekt, men nåede aldrig produktionsfasen.
For at forhindre brugerne i at blande det tidligere forsøg med den seneste udvikling, løber den nye store version under navnet PHP 7.
2. Brand Spanking New Zend Engine
Zend-motoren har kørt PHP siden 1999, da den blev introduceret med den nye PHP 4-version. Send - ikke at forveksle med Zend Framework - er en open source-udførelsesmotor skrevet i C, der fortolker PHP-sproget. Den nuværende PHP 5.X-serie bruger Zend Engine II der forbedrede funtionaliteten af den indledende motor og tilføjer en udvidelig objektmodel og a væsentlig præstationsforbedring til sproget.
PHP 7 modtager en helt ny version af motoren, der kommer under kodenavnet til PHP # NG (Next Generation).
3. To gange hastigheden
Den mest let genkendelige fordel ved den nye PHPNG-motor er den betydelige forbedring af ydeevnen. Udviklingsholdet fra PHPNG refactored Zend Engine og bemærkelsesværdigt optimeret hukommelsesbrug.
Resultaterne? Du kan se de præstations benchmarks, der leveres af Zend Performance Team nedenfor. Ved at bruge PHP 7 ikke kun din kode vil blive udført hurtigere men du vil også har brug for færre servere til at tjene samme antal brugere.
4. Gør det lettere at håndtere
For det meste har håndtering af fatale og catchable fatale fejl aldrig været en nem opgave for PHP-kodere. Den nye Motor undtagelser vil tillade dig at erstatte disse slags fejl med undtagelser. Hvis undtagelsen ikke er fanget, vil PHP fortsætte med at returnere de samme fatale fejl som det gør i den nuværende 5.X-serie.
Den nye \ EngineException objekter strækker sig ikke ud \Undtagelse Base klasse. Dette sikrer kompatibilitet bagud og resulterer i to forskellige undtagelser ved fejlhåndtering: traditionel og motor undtagelser.
For at gøre det muligt for programmører at fange begge, introducerer PHP 7 en ny delt moderklasse under navnet af \ BaseException.
5. 64-bit Windows System Support
PHP er et fremtrædende medlem af LAMP-stakken, hvilket betyder, at dets native miljø er Linux - men det er også muligt at køre det på et Windows-system. 5.X-serien giver endnu ikke 64-biters heltal eller stor filsupport, så indtil nu er x64-builds blevet overvejet eksperimentel.
PHP 7 vil ændre dette som det introducerer konsekvent 64-bit support hvilket betyder både indfødte 64-biters heltal og store filer vil blive understøttet, så du sikkert kan køre sproget på dit 64-biters Windows-system i fremtiden.
6. Nye rumskibs- og Null Coalescing Operatører
Det Rumfartøjsoperatør kører under navnet på den kombinerede sammenligningsoperatør. Notationen fra den nye operatør ser sådan ud: <=>
(slags ligesom et forenklet rumskib, hvis du forestiller dig det rigtigt).
Rumfartøjsoperatøren returnerer 0, hvis begge operander er ens, 1 hvis venstre er større, og -1 hvis højre er større. Det hedder også a trevejs sammenligning operatør, og det findes allerede i andre populære programmeringssprog som Perl og Ruby.
Null Coalescing operatøren er betegnet med to spørgsmålstegn (??). Du kan bruge det, når du vil tjekke om der findes noget, og returnere en standardværdi, hvis det ikke gør det. Coalesce operatøren returnerer resultatet af sin første operand, hvis den eksisterer og ikke er null, og den anden operand i andre tilfælde.
Sådan reducerer den nye operatør den tid, der bruges med grundlæggende erklæringer:
7. Aktiverer nøjagtige typedeklarationer
Har du nogensinde ønsket at forhindre utilsigtede returværdier ved at erklære returtypen for en funktion? Nå, det nye PHP 7 gør det muligt for udviklere at forbedre kvaliteten af deres kode ved hjælp af retur type erklæringer.
Billedet nedenfor viser en meget enkel brugstilfælde hvor foo () funktion er meningen at returnere en matrix. Tjek mere komplicerede eksempler her.
For at forbedre funktionen endnu mere introducerer PHP 7 4 nye typeerklæringer til skalarer: int, flyde, streng og bool. De nye skalar typer giver udviklere mulighed for at angive, at de forventer heltal, flyder, strenge eller booleaner, der skal returneres. De nye skalar typer introduceret af PHP 7 vil også blive understøttet af argument Type Hints, der gør det muligt for udviklere at tvinge typen af parametre siden PHP 5.X serien.
8. tilføjer anonyme klasser
PHP 7 giver dig mulighed for at bruge anonyme klasser, der allerede er en veletableret praksis i andre objektorienterede sprog som C # og Java. En anonym klasse er en klasse uden navn. Objektet, der instanser, har samme funktionalitet som et objekt af en navngivet klasse.
Syntaxen er den samme som hvad vi er vant til i traditionelle PHP klasser, kun navnet mangler. Hvis anonyme klasser bruges godt, kan de fremskynde kodning samt udførelsestid. Anonyme klasser er fremragende, når en klasse kun bruges én gang under eksekvering og i tilfælde, hvor en klasse ikke behøver at blive dokumenteret.
9. Fremmer import fra samme navneområde
Den nye funktion til brug af gruppedeklarationer vil blive godset til de af jer, der vil importere mange klasser fra samme navneområde. Den nye syntaks reducerer vendighed, gør din kode mere klog og lettere på øjnene og sparer dig meget tid til skrivning.
Det vil også være nemmere at læse og fejle koder, da gruppedeklarationer hjælper dig med at identificere den import, der tilhører det samme modul.
10. Rydder op i lokalet
Målet med PHP 7 var at frigøre rummet for at muliggøre forbedring, så det var nødvendigt at slippe af med mange forældede funktionaliteter og gamle og ikke understøttede server-API'er og -udvidelser. Hvis du vil tjekke, hvilke er disse i detaljer, klik her og her.
Alle de fjernede elementer er blevet depreceret i et stykke tid i PHP 5, så du har sandsynligvis ikke brugt dem i lang tid. Bemærk dog, om du har en gammel app kører på ældre PHP versioner den nye PHP 7 kan muligvis bryde koden.