Ir sākusies PHP 8 beta testēŔana

Iesniedzis 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 jauninājumiem PHP 8:

  • Iespējot JIT kompilators, kuru izmantoÅ”ana uzlabos produktivitāti.
  • Atbalsts 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 atļauta 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 arodbiedrÄ«bu veidi, definējot divu vai vairāku veidu kolekcijas (piemēram, ā€œpubliskā funkcija foo(Foo|Bar $input): int|float;ā€).
  • Atbalsts atribÅ«ti (anotācijas), kas ļauj saistÄ«t metadatus (piemēram, tipa informāciju) klasēm, neizmantojot Docblock sintaksi.
  • Izteiksmes atbalsts spēles, 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",
    };

  • SaÄ«sināta sintakse klaÅ”u definÄ«cijas, ļaujot apvienot konstruktora definÄ«ciju un Ä«paŔības.
  • Jauns atgrieÅ”anas veids - statisks.
  • Jauns tips - sajaukts, ko var izmantot, lai noteiktu, vai funkcija pieņem dažāda veida parametrus.
  • Izteiksme mest rÄ«koties ar izņēmumiem.
  • Vāja karte lai izveidotu objektus, kurus var upurēt atkritumu savākÅ”anas laikā (piemēram, lai uzglabātu nevajadzÄ«gas keÅ”atmiņas).
  • Iespēja izmantojot izteiksmi ā€œ::classā€ objektiem (analogs get_class() izsaukÅ”anai).
  • Iespēja definÄ«cijas izņēmumu nozvejas blokā, kas nav saistÄ«ti ar mainÄ«gajiem.
  • Iespēja aiz pēdējā elementa funkcijas parametru sarakstā atstājot komatu.
  • Jauns interfeiss Stingrs lai identificētu visus virkņu veidus vai datus, ko var pārvērst virknē (kurai ir pieejama metode __toString()).
  • Jauna funkcija str_contains(), 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 fdiv(), kas veic dalīŔanas darbÄ«bu, neizmetot kļūdu dalot ar nulli.
  • MainÄ«ts 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)ā€.
  • Savilkts pārbaudot aritmētiskās un bitu darbÄ«bas, piemēram, izteicieni "[] % [42]" un "$object + 4" radÄ«s kļūdu.
  • ÄŖstenots stabils ŔķiroÅ”anas algoritms, kurā identisku vērtÄ«bu secÄ«ba tiek saglabāta dažādos palaijumos.
  • Avots: opennet.ru

Iegādājieties uzticamu mitināŔanu vietnēm ar DDoS aizsardzÄ«bu, VPS VDS serveriem šŸ”„ Iegādājieties uzticamu tÄ«mekļa vietņu mitināŔanu ar DDoS aizsardzÄ«bu, VPS VDS serveriem | ProHoster