PHP 8 programmÄÅ”anas valodas jaunÄ atzara pirmÄ beta versija Izlaidums ir paredzÄts 26. novembrÄ«. TajÄ paÅ”Ä laikÄ PHP 7.4.9, 7.3.21 un koriÄ£ÄjoÅ”ie laidieni
7.2.33, kas novÄrsa uzkrÄtÄs kļūdas un ievainojamÄ«bas.
Galvenais PHP 8:
- , kuru izmantoÅ”ana uzlabos produktivitÄti.
- nosaukto funkciju argumenti, ļaujot funkcijai nodot vÄrtÄ«bas saistÄ«bÄ ar nosaukumiem, t.i. JÅ«s varat nodot argumentus jebkurÄ secÄ«bÄ un definÄt izvÄles argumentus. PiemÄram, "array_fill(start_index: 0, num: 100, value: 50)".
- Zvanot metodes izmantojot operatoru ā?ā, kas ļauj sÄkt zvanu tikai tad, ja ir izmantota metode, kas ļauj izvairÄ«ties no nevajadzÄ«gÄm pÄrbaudÄm, lai atgrieztu vÄrtÄ«bu ānullā. PiemÄram, "$dateAsString = $rezervÄÅ”ana->getStartDate()?->asDateTimeString()";
- Atbalsts , definÄjot divu vai vairÄku veidu kolekcijas (piemÄram, āpubliskÄ funkcija foo(Foo|Bar $input): int|float;ā).
- Atbalsts (anotÄcijas), kas ļauj saistÄ«t metadatus (piemÄram, tipa informÄciju) klasÄm, neizmantojot Docblock sintaksi.
- Izteiksmes atbalsts , kas atŔķirÄ«bÄ no slÄdža var atgriezt vÄrtÄ«bas, atbalstÄ«t apvienoÅ”anas nosacÄ«jumus, izmantot stingrus tipu salÄ«dzinÄjumus un neprasa āpÄrtraukumaā specifikÄciju.
$rezultÄts = atbilstÄ«ba($ievade) {
0 => "sveiki",
'1', '2', '3' => "pasaule",
}; - klaŔu definīcijas, ļaujot apvienot konstruktora definīciju un īpaŔības.
- Jauns atgrieŔanas veids - .
- Jauns tips - , ko var izmantot, lai noteiktu, vai funkcija pieÅem dažÄda veida parametrus.
- Izteiksme rÄ«koties ar izÅÄmumiem.
- lai izveidotu objektus, kurus var upurÄt atkritumu savÄkÅ”anas laikÄ (piemÄram, lai uzglabÄtu nevajadzÄ«gas keÅ”atmiÅas).
- izmantojot izteiksmi ā::classā objektiem (analogs get_class() izsaukÅ”anai).
- definÄ«cijas izÅÄmumu nozvejas blokÄ, kas nav saistÄ«ti ar mainÄ«gajiem.
- aiz pÄdÄjÄ elementa funkcijas parametru sarakstÄ atstÄjot komatu.
- Jauns interfeiss lai identificÄtu visus virkÅu veidus vai datus, ko var pÄrvÄrst virknÄ (kurai ir pieejama metode __toString()).
- Jauna funkcija , vienkÄrÅ”ots strpos analogs apakÅ”virknes raÅ”anÄs noteikÅ”anai, kÄ arÄ« funkcijas str_starts_with() un str_ends_with(), lai pÄrbaudÄ«tu atbilstÄ«bu virknes sÄkumÄ un beigÄs.
- Pievienota funkcija , kas veic dalīŔanas darbību, neizmetot kļūdu dalot ar nulli.
- virkÅu savienoÅ”anas loÄ£ika. PiemÄram, izteiciens 'echo "sum:" . $a + $b' iepriekÅ” tika interpretÄts kÄ 'echo ("sum: " . $a) + $b', un PHP 8 tiks uzskatÄ«ts par "echo "sum: " . ($a + $b)ā.
- pÄrbaudot aritmÄtiskÄs un bitu darbÄ«bas, piemÄram, izteicieni "[] % [42]" un "$object + 4" radÄ«s kļūdu.
- stabils ŔķiroÅ”anas algoritms, kurÄ identisku vÄrtÄ«bu secÄ«ba tiek saglabÄta dažÄdos palaijumos.
Avots: opennet.ru
