Ang beta testing sa PHP 8 nagsugod na

Gipasa ni ang unang beta nga pagpagawas sa bag-ong sanga sa PHP 8 programming language. Ang pagpagawas kay gikatakda sa Nobyembre 26. Sa samang higayon, corrective releases sa PHP 7.4.9, 7.3.21 ug
7.2.33, nga nagwagtang sa natipon nga mga sayop ug mga kahuyang.

nag-unang mga inobasyon PHP 8:

  • Pag-apil JIT compiler, ang paggamit niini makapauswag sa pagka-produktibo.
  • suporta ginganlan nga mga argumento sa function, nga nagtugot kanimo sa pagpasa sa mga bili ngadto sa function nga may kalabutan sa mga ngalan, i.e. Mahimo nimong ipasa ang mga argumento sa bisan unsang han-ay ug ipasabut ang mga opsyonal nga argumento. Pananglitan, "array_fill(start_index: 0, num: 100, value: 50)".
  • Sa diha nga pagtawag sa mga pamaagi gitugotan gamit ang "?" operator, nga nagtugot kanimo sa pagsugod sa usa ka tawag lamang kung ang pamaagi anaa, nga naglikay sa wala kinahanglana nga mga pagsusi alang sa pagbalik sa "null" nga kantidad. Pananglitan, "$dateAsString = $booking->getStartDate()?->asDateTimeString()";
  • suporta mga tipo sa unyon, paghubit sa mga koleksyon sa duha o daghan pa nga mga tipo (pananglitan, β€œpublic function foo(Foo|Bar $input): int|float;”).
  • suporta mga hiyas (mga anotasyon) nga nagtugot kanimo sa pagbugkos sa metadata (sama sa tipo nga impormasyon) sa mga klase nga dili mogamit sa Docblock syntax.
  • Pagsuporta sa ekspresyon match, nga, dili sama sa switch, makabalik sa mga bili, pagsuporta sa paghiusa sa mga kondisyon, paggamit sa estrikto nga pagtandi sa tipo, ug wala magkinahanglan og "break" nga detalye.

    $result = match($input) {
    0 => "kumusta",
    '1', '2', '3' => "kalibutan",
    };

  • Gipamubo nga syntax mga kahulugan sa klase, nga nagtugot kanimo sa paghiusa sa kahulugan sa usa ka tigtukod ug mga kabtangan.
  • Bag-ong tipo sa pagbalik - Walay pulos.
  • Bag-ong tipo - gisagol, nga magamit aron mahibal-an kung ang usa ka function modawat sa mga parameter sa lainlaing mga lahi.
  • Pagpahayag paglabay sa pagdumala sa mga eksepsiyon.
  • WeakMap sa paghimo og mga butang nga mahimong isakripisyo sa panahon sa pagkolekta sa basura (pananglitan, sa pagtipig sa wala kinahanglana nga mga cache).
  • Abilidad gamit ang ekspresyong β€œ::class” para sa mga butang (kaamgid sa pagtawag get_class()).
  • Abilidad mga kahulugan sa catch block sa mga eksepsiyon nga dili gigapos sa mga variable.
  • Abilidad nagbilin ug comma human sa kataposang elemento sa lista sa function parameters.
  • Bag-ong interface Mahimong kuwerdas aron mahibal-an ang bisan unsang mga tipo sa string o datos nga mahimong mabag-o sa usa ka hilo (diin magamit ang __toString() nga pamaagi).
  • Bag-ong dagway str_contains(), usa ka gipasimple nga analogue sa strpos alang sa pagtino sa panghitabo sa usa ka substring, ingon man ang mga function str_starts_with() ug str_ends_with() para sa pagsusi sa mga posporo sa sinugdanan ug katapusan sa usa ka string.
  • Gidugang nga bahin fdiv(), nga naghimo sa usa ka division operation nga walay paglabay sa usa ka sayop sa diha nga pagbahin sa zero.
  • Nausab lohika sa pagdugtong sa string. Pananglitan, ang ekspresyong 'echo "sum:" . Ang $a + $b' kaniadto gihubad nga 'echo ("sum: " . $a) + $b', ug sa PHP 8 isipon nga 'echo "sum: " . ($a + $b)'.
  • Gihugot pagsusi sa aritmetika ug gamay nga operasyon, pananglitan, ang mga ekspresyong "[] % [42]" ug "$object + 4" moresulta sa usa ka sayop.
  • Gipatuman usa ka lig-on nga algorithm sa paghan-ay diin ang han-ay sa parehas nga mga kantidad gipreserba sa lainlaing mga dagan.
  • Source: opennet.ru

Idugang sa usa ka comment