mitä uutta PHP 7.4: ssä? Top 10 ominaisuudet, jotka sinun täytyy tietää

PHP7.4

PHP7.4

miksi jotkut ohjelmointikielet ovat niin suosittuja, kun taas toisia käytetään harvoin projektikehityksessä ja joskus jopa unohdetaan? Siihen on monia syitä. Syntaksin yksinkertaisuus, toiminnallisuus, kehitysverkosto ja yhteisön tuki vaikuttavat kunkin teknologian kysyntään.

koska IT-maailma kehittyy jatkuvasti, koodausteknologioiden on pysyttävä muuttuvan ympäristön tahdissa tarjoamalla uusia ominaisuuksia, päivityksiä ja parannuksia. Tämä on yksi kielen menestyksen tärkeimmistä elementeistä.

yrityksessämme nautin PHP: stä, koska joka vuosi tehdään usein parannuksia ja uskon, että se tulee olemaan suosittu vielä monta vuotta. PHP 5: n julkaisun jälkeen vuonna 2004 sen suorituskyky on kaksinkertaistunut ja ehkä jopa kolminkertaistunut. Tämä on yksi syy siihen, miksi käytämme PHP: tä ohjelmistokehitysyhtiössämme.

ei ole ihme, että jo toista vuotta peräkkäin PHP on StackOverflow-Kehittäjätutkimuksen 2019 mukaan 10 suosituimman ohjelmointikielen joukossa. Tänä vuonna se otti 8.sijan, mikä on yhden sijan korkeampi kuin edellisvuonna.

vain 7 päivän päästä, torstaina 28.marraskuuta, nähdään uusi versio PHP — PHP 7.4, josta tulee yksi kaikkien aikojen feature-pakatuimmista versioista. Tässä artikkelissa, aion luetella ja kattaa päivitetyt ominaisuudet yleiskatsaus PHP 7.4. Aloitetaan!

Nuolifunktioiden tuki

koska anonyymejä funktioita eli sulkuja käytetään pääasiassa JS: ssä, ne näyttävät olevan monisanaisia PHP: ssä. Niiden käyttöönotto-ja ylläpitomenettelyt ovat myös monimutkaisempia.

arrow-funktioiden tuen käyttöönotto antaa PHP-kehittäjille mahdollisuuden siivota koodiaan dramaattisesti ja tehdä syntaksista tiiviimmän. Tämän seurauksena, saat korkeamman tason koodin luettavuus ja yksinkertaisuus. Tutustu alla olevaan esimerkkiin.

Jos siis aiemmin piti kirjoittaa tämä koodinpätkä:

function cube($n){return ($n * $n * $n);}$a = ;$b = array_map('cube', $a);print_r($b);

PHP 7.4: llä, sen voi kirjoittaa uusiksi seuraavalla tavalla:

$a = ;$b = array_map(fn($n) => $n * $n * $n, $a);print_r($b);

kiitos siistin, lyhyemmän koodin luomisen, web-kehitysprosessi etenee nopeammin, jolloin aikaa säästyy.

Typed properties’ support

typed properties ’ in käyttöönottoa seuraavassa julkaisussa pidetään todennäköisesti yhtenä tärkeimmistä päivitetyistä PHP-ominaisuuksista. Kun aiemmin ei ollut mahdollisuutta käyttää luokan muuttujien ja ominaisuuksien ilmoitusmenetelmiä (mukaan lukien staattiset ominaisuudet), nyt ohjelmoijat voivat helposti koodata sen luomatta erityisiä getter-ja setter-menetelmiä.

ilmoitustyyppien (pois lukien void ja callable) vuoksi voit käyttää nollattavia tyyppejä, int, float, array, string, object, iterable, self, bool ja parent.

Jos web-kehittäjä yrittää antaa tyypille epäolennaisen arvon, esimerkiksi julistamalla $ – nimen merkkijonoksi, hän saa Tyyppivirheviestin.

kuten arrow-funktiot, myös kirjoitetut ominaisuudet antavat PHP: n insinööreille mahdollisuuden tehdä koodistaan lyhyempää ja puhtaampaa

esilataus

tämän siistin uuden ominaisuuden päätarkoitus on lisätä PHP 7.4: n suorituskykyä. Yksinkertaisesti sanottuna, esilataus on prosessi ladata tiedostoja, kehyksiä, ja kirjastot opcache ja on ehdottomasti hyvä lisä uuden julkaisun. Jos esimerkiksi käytät kehystä, sen tiedostot piti ladata ja kääntää uudelleen jokaista pyyntöä varten.

opcachea määritettäessä nämä kooditiedostot osallistuvat ensimmäistä kertaa pyyntöjen käsittelyyn, minkä jälkeen ne tarkistetaan muutosten varalta joka kerta. Esilatauksen avulla palvelin voi ladata määritetyt kooditiedostot jaettuun muistiin. On tärkeää huomata, että ne ovat jatkuvasti saatavilla kaikkiin myöhempiin pyyntöihin ilman lisätarkistuksia tiedostojen muutoksista.

on myös huomionarvoista mainita, että esilatauksen aikana PHP myös poistaa turhia sisältöjä ja ratkaisee luokkariippuvuuksia sekä yhteyksiä piirteisiin, rajapintoihin ja muihin.

Kovariant returns & contravariant parameters

tällä hetkellä PHP: ssä on enimmäkseen invariantteja parametrityyppejä ja invariantteja paluutyyppejä, jotka esittävät joitakin rajoitteita. Kun otetaan käyttöön kovariantti (tyypit tilataan tarkemmista yleisempiin) palauttaa ja contravariant (tyypit tilataan yleisemmistä tarkempiin) parametrit, PHP kehittäjät voivat muuttaa parametrin tyypin yhdeksi sen supertyypeistä. Palautettu tyyppi puolestaan voidaan helposti korvata sen alatyypillä.

heikot viitteet

PHP 7.4: ssä heikon Viiteluokan avulla web-kehittäjät voivat tallentaa linkin kohteeseen, joka ei estä sen tuhoutumista. Älä sekoita sitä Weakref-laajennuksen heikkoon luokkaan. Tämän ominaisuuden ansiosta ne voivat helpommin toteuttaa välimuistimaisia rakenteita.

katso esimerkki tämän luokan käytöstä:

<?php$obj = new stdClass;$weakref = WeakReference::create($obj);var_dump($weakref->get());unset($obj);var_dump($weakref->get());?>

huomaa myös, että heikkoja viittauksia ei voi sarjallistaa.

Coalescing assignment operator

a coalesce operator on toinen uusi ominaisuus, joka on saatavilla PHP 7.4: ssä. Se on erittäin hyödyllinen, kun sinun täytyy käyttää kolmiosaista operaattoria yhdessä issetin () kanssa. Tämän avulla voit palauttaa ensimmäisen operandin, jos se on olemassa eikä ole NULL. Jos ei, se vain palauttaa toisen operandin.

tässä on esimerkki:

<?php// Fetches the value of $_GET and returns 'nobody'// if it does not exist.$username = $_GET ?? 'nobody';// This is equivalent to:$username = isset($_GET) ? $_GET : 'nobody';// Coalescing can be chained: this will return the first// defined value out of $_GET, $_POST, and// 'nobody'.$username = $_GET ?? $_POST ?? 'nobody';?>

A spread operator in array expression

PHP 7.4 antaa insinööreille mahdollisuuden käyttää hajaoperaattoreita array_mergeen verrattuna nopeammissa ryhmissä. Siihen on kaksi keskeistä syytä. Ensinnäkin hajaoperaattori katsotaan kielirakenteeksi ja array_merge funktioksi. Toinen syy on se, että nyt käännösaikasi voidaan optimoida jatkuvia taulukoita varten. Tämän seurauksena, olet lisännyt PHP 7.4 suorituskykyä.

katso esimerkki argumentin purkamisesta array-lausekkeessa:

$parts = ;$fruits = ;var_dump($fruits);

on myös mahdollista laajentaa samaa joukkoa useita kertoja. Lisäksi, koska normaalit elementit voidaan lisätä ennen tai jälkeen leviämisen operaattori, PHP kehittäjät voivat käyttää sen syntaksi array.

Uusi custom object serialization-mekanismi

PHP: n uudessa versiossa tulee käyttöön kaksi uutta menetelmää: __serialize ja __unserialize. Yhdistämällä monipuolisuus sarjamuotoisen käyttöliittymän lähestymistavan _ _ sleep / _ _ wakeup menetelmiä, tämä serialization mekanismi mahdollistaa PHP kehittäjät voivat välttää räätälöinnin liittyviä kysymyksiä olemassa olevia menetelmiä. Lue lisätietoja tästä PHP ominaisuus.

Reflection viittauksille

kirjastot, kuten symfony / var-dumper, luottavat vahvasti Reflectionapiin näyttääkseen muuttujat tarkasti. Aiemmin referenssipohdinnalle ei ollut kunnollista tukea, mikä pakotti nämä kirjastot turvautumaan hakkerointeihin viittausten havaitsemiseksi. PHP 7.4 Lisää ReflectionReference-luokan, joka ratkaisee tämän ongelman.

tuki heittopoikkeuksille __toString-menetelmästä ()

aiemmin ei ollut mahdollisuutta heittää poikkeuksia __toString-menetelmästä. Syynä tähän on objektien muuntaminen merkkijonoiksi suoritetaan monissa standardikirjaston toiminnoissa, eivätkä kaikki niistä ole valmiita ”käsittelemään” poikkeuksia oikein. Osana tätä RFC: tä toteutettiin koodebaasin merkkijonomuunnosten kattava auditointi ja tämä rajoitus poistettiin.

lopulliset ajatukset

julkaistaan vain viikon kuluttua PHP 7.4. On paljon uusia PHP ominaisuuksia, jotka vähentävät muistin käyttöä ja lisäävät huomattavasti PHP 7.4 suorituskykyä. Voit välttää joitakin tämän ohjelmointikielen aikaisempia rajoituksia, kirjoittaa puhtaampaa koodia ja luoda verkkoratkaisuja nopeammin.

Vastaa

Sähköpostiosoitettasi ei julkaista.