Uvavanyo lwe-Beta lwe-PHP 8 luqalile

Yaziswa ukukhutshwa kokuqala kwe-beta yesebe elitsha le-PHP 8 ulwimi lwenkqubo Ukukhululwa kucwangciselwe i-26 kaNovemba. Ngexesha elifanayo, ukukhutshwa kokulungiswa kwe-PHP 7.4.9, 7.3.21 kunye
7.2.33, ethe yasusa iimpazamo kunye nobuthathaka.

Siseko ezintsha PHP 8:

  • Amandla Umqambi weJIT, ukusetyenziswa okuya kuphucula imveliso.
  • inkxaso iimpikiswano zomsebenzi ezinegama, ikuvumela ukuba ugqithise amaxabiso kumsebenzi ngokunxulumene namagama, i.e. Uyakwazi ukuphumelela iingxoxo kulo naluphi na ulandelelwano kwaye uchaze iingxoxo ozikhethelayo. Umzekelo, "array_fill(start_index: 0, num: 100, value: 50)".
  • Xa ufowuna iindlela kuvunyelwe usebenzisa "?" Umsebenzisi, okuvumela ukuba uqalise umnxeba kuphela ukuba indlela ikhona, nto leyo inqanda ukuhlolwa okungeyomfuneko ukubuyisela ixabiso elithi "null". Umzekelo, "$dateAsString = $booking->getStartDate()?->asDateTimeString()";
  • inkxaso iintlobo zomanyano, ichaza ingqokelela yeentlobo ezimbini nangaphezulu (umzekelo, “umsebenzi woluntu foo(Foo|Bar $input): int|float;”).
  • inkxaso iimpawu (izichasiselo) ezikuvumela ukuba ubophe imetadata (efana neenkcukacha zohlobo) kwiiklasi ngaphandle kokusebenzisa i-Docblock syntax.
  • Inkxaso yokuvakalisa komdlalo, leyo, ngokungafaniyo nokutshintsha, inokubuyisela amaxabiso, inkxaso yokudibanisa iimeko, sebenzisa uthelekiso lohlobo olungqongqo, kwaye awufuni ukucaciswa "kwekhefu".

    Isiphumo se-$ = umdlalo (ingeniso ye-$) {
    0 => "Molo",
    '1', '2', '3' => “ihlabathi”,
    };

  • Isivakalisi esifutshane iinkcazo zeklasi, ezikuvumela ukuba udibanise inkcazo yomakhi kunye neempawu.
  • Uhlobo olutsha lokubuya - static.
  • Uhlobo olutsha - zixutywe, enokusetyenziswa ukumisela ukuba umsebenzi wamkela iiparameters zeentlobo ezahlukeneyo.
  • Inkcazo ukuphosa ukusingatha iinketho.
  • I-WeakMap ukudala izinto ezinokubingelelwa ngexesha lokuqokelela inkunkuma (umzekelo, ukugcina ii-caches ezingadingekile).
  • Ithuba usebenzisa ibinzana elithi "::class" kwizinto (ezifana nokubiza get_class()).
  • Ithuba iinkcazo kwibhloko yokubamba yezinto ezingaphandle ezingabotshwanga kwizinto eziguquguqukayo.
  • Ithuba kushiya isiphumlisi emva kwento yokugqibela kuluhlu lweparameters zomsebenzi.
  • Ujongano olutsha Iqinile ukuchonga naluphi na uhlobo lomtya okanye idatha enokuthi iguqulelwe kumtya (apho __toString () indlela ekhoyo).
  • Inqaku elitsha str_iqulathe (), i-analogue eyenziwe lula ye-strpos yokumisela ukwenzeka komtya ongezantsi, kunye nemisebenzi str_starts_with() kunye str_ends_with() yokukhangela imatshisi ekuqaleni nasekupheleni komtya.
  • Umsebenzi ongezelelweyo fdiv(), eyenza umsebenzi wokwahlula ngaphandle kokuphosa impazamo xa isahlulahlula ngo-zero.
  • Itshintshiwe ingqiqo yokudibanisa umtya. Umzekelo, ibinzana elithi 'echo "sum:" . I-$a + $b' ngaphambili yayitolikwa njenge-'echo ("sum: " . $a) + $b', kwaye kwi-PHP 8 iya kuphathwa njenge 'echo "sum: " . ($a + $b)'.
  • Iqinisiwe ijonga i-arithmetic kunye nokusebenza kancinci, umzekelo, intetho "[] % [42]" kunye ne "$object + 4" ziya kubangela impazamo.
  • Iphunyeziwe i-algorithm yokuhlela ezinzileyo apho ulandelelwano lwamaxabiso afanayo lugcinwa kwimitsi eyahlukeneyo.
  • umthombo: opennet.ru

Yongeza izimvo