ื‘ื™ืชื ื˜ืขืกื˜ื™ื ื’ ืคื•ืŸ PHP 8 ื”ืื˜ ืื ื’ืขื”ื•ื™ื‘ืŸ

ื‘ืึทืงืขื ืขื  ื“ืขืจ ืขืจืฉื˜ืขืจ ื‘ื™ืชื ืžืขืœื“ื•ื ื’ ืคื•ืŸ ื“ื™ ื ื™ื™ึทืข ืฆื•ื•ื™ื™ึทื’ ืคื•ืŸ ื“ื™ PHP 8 ืคึผืจืึธื’ืจืึทืžืžื™ื ื’ ืฉืคึผืจืึทืš. ื“ื™ ืžืขืœื“ื•ื ื’ ืื™ื– ืกืงืขื“ื–ืฉื•ืœื“ ืคึฟืึทืจ 26 ื ืื•ื•ืขืžื‘ืขืจ. ืื™ืŸ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืฆื™ื™ื˜, ืงืขืจืขืงื˜ื™ื•ื• ืจื™ืœื™ืกื™ื– ืคื•ืŸ PHP 7.4.9, 7.3.21 ืื•ืŸ
7.2.33, ื•ื•ืึธืก ื™ืœื™ืžืึทื ื™ื™ื˜ืึทื“ ืึทืงื™ื•ืžื™ืึทืœื™ื™ื˜ื™ื“ ืขืจืจืึธืจืก ืื•ืŸ ื•ื•ืึทืœื ืขืจืึทื‘ื™ืœื™ื˜ื™ื–.

ื”ื•ื™ืคึผื˜ ื™ื ืึธื•ื•ื•ื™ื™ืฉืึทื ื– ืคืคึผ 8:

  • ืžืึทื›ื˜ ื–ื™ืš JIT ืงืึทืžืคึผื™ื™ืœืขืจ, ื“ื™ ื ื•ืฆืŸ ืคื•ืŸ ื•ื•ืึธืก ื•ื•ืขื˜ ืคึฟืึทืจื‘ืขืกืขืจืŸ ืคึผืจืึธื•ื“ืึทืงื˜ื™ื•ื•ื™ื˜ื™.
  • ะŸะพะดะดะตั€ะถะบะฐ ืคื•ื ืงืฆื™ืข ืึทืจื’ื•ืžืขื ื˜ืŸ, ืึทืœืึทื•ื™ื ื’ ืื™ืจ ืฆื• ืคืึธืจืŸ ื•ื•ืึทืœื•ืขืก ืฆื• ื“ื™ ืคึฟื•ื ืงืฆื™ืข ืื™ืŸ ื‘ืึทืฆื™ื•ื ื’ ืฆื• ื ืขืžืขืŸ, ื™.ืข. ืื™ืจ ืงืขื ืขืŸ ืคืึธืจืŸ ืึทืจื’ื•ืžืขื ื˜ืŸ ืื™ืŸ ืงื™ื™ืŸ ืกื“ืจ ืื•ืŸ ื“ืขืคื™ื ื™ืจืŸ ืึทืคึผืฉืึทื ืึทืœ ืึทืจื’ื•ืžืขื ื˜ืŸ. ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, "array_fill (ืกื˜ืึทืจื˜_ื™ื ื“ืขืงืก: 0, ื ื•ืžืขืจ: 100, ื•ื•ืขืจื˜: 50)".
  • ื•ื•ืขืŸ ืคืึทืš ืžืขื˜ื”ืึธื“ืก ืขืจืœื•ื™ื‘ื˜ ื ื™ืฆืŸ ื“ื™ "?" ืึธืคึผืขืจืึทื˜ืึธืจ, ื•ื•ืึธืก ืึทืœืึทื•ื– ืื™ืจ ืฆื• ืึธื ื”ื™ื™ื‘ืŸ ืึท ืจื•ืคืŸ ื‘ืœื•ื™ื– ืื•ื™ื‘ ื“ืขืจ ืื•ืคึฟืŸ ืื™ื– ืคืึธืจืฉื˜ืขืœืŸ, ื•ื•ืึธืก ืึทื•ื•ื•ื™ื“ื– ื•ืžื ื™ื™ื˜ื™ืง ื˜ืฉืขืงืก ืคึฟืึทืจ ืฆื•ืจื™ืงืงื•ืžืขืŸ ื“ื™ "ื ื•ืœ" ื•ื•ืขืจื˜. ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, "$dateAsString = $booking->getStartDate()?->asDateTimeString()";
  • ะŸะพะดะดะตั€ะถะบะฐ ืคึฟืึทืจื‘ืึทื ื“ ื˜ื™ื™ืคึผืก, ื“ื™ืคื™ื™ื ื™ื ื’ ื–ืึทืžืœื•ื ื’ืขืŸ ืคื•ืŸ ืฆื•ื•ื™ื™ ืึธื“ืขืจ ืžืขืจ ื˜ื™ื™ืคึผืก (ืœืžืฉืœ, "ืคื•ื‘ืœื™ืง ืคึฟื•ื ืงืฆื™ืข foo(Foo|Bar $input): int|float;").
  • ะŸะพะดะดะตั€ะถะบะฐ ืึทื˜ืจื™ื‘ื™ื•ืฅ (ืึทื ืึธื˜ื™ื™ืฉืึทื ื–) ื•ื•ืึธืก ืœืึธื–ืŸ ืื™ืจ ืฆื• ื‘ื™ื ื“ืŸ ืžืขื˜ืึทื“ืึทื˜ืึท (ืึทื–ืึท ื•ื•ื™ ื˜ื™ืคึผ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข) ืฆื• ืงืœืืกืŸ ืึธืŸ ื ื™ืฆืŸ ื“ืึธืงื‘ืœืึธืงืง ืกื™ื ื˜ืึทืงืก.
  • ืื•ื™ืกื“ืจื•ืง ืฉื˜ื™ืฆืŸ ื’ืœื™ื™ึทื›ืŸ, ื•ื•ืึธืก, ื ื™ื˜ ืขื ืœืขืš ื‘ืึทืฉื˜ื™ืžืขืŸ, ืงืขื ืขืŸ ืฆื•ืจื™ืงืงื•ืžืขืŸ ื•ื•ืึทืœื•ืขืก, ืฉื˜ื™ืฆืŸ ืงืึทืžื‘ื™ื™ื ื™ื ื’ ื˜ื ืึธื™ื, ื ื•ืฆืŸ ืฉื˜ืจืขื ื’ ื˜ื™ืคึผ ืงืึทืžืคึผืขืจืึทืกืึทื ื– ืื•ืŸ ื˜ืึธืŸ ื ื™ื˜ ื“ืึทืจืคืŸ ืึท "ื‘ืจืขื›ืŸ" ืกืคึผืขืกื™ืคื™ืงืึทื˜ื™ืึธืŸ.

    $ ืจืขื–ื•ืœื˜ืึทื˜ = ื’ืœื™ื™ึทื›ืŸ ($ ืึทืจื™ื™ึทื ืฉืจื™ื™ึทื‘) {
    0 => "ื”ืขืœื",
    '1', '2', '3' => "ื•ื•ืขืœื˜",
    };

  • ืคืึทืจืงื™ืจืฆื˜ ืกื™ื ื˜ืึทืงืก ืงืœืึทืก ื“ืขืคึฟื™ื ื™ืฆื™ืข, ืึทืœืึทื•ื™ื ื’ ืื™ืจ ืฆื• ืคืึทืจื‘ื™ื ื“ืŸ ื“ื™ ื“ืขืคึฟื™ื ื™ืฆื™ืข ืคื•ืŸ โ€‹โ€‹ืึท ืงืึธื ืกื˜ืจื•ืงื˜ืึธืจ ืื•ืŸ ืคึผืจืึธืคึผืขืจื˜ื™ืขืก.
  • ื ื™ื™ึทืข ื˜ื™ืคึผ ืคื•ืŸ ืฆื•ืจื™ืงืงื•ืžืขืŸ - ืกื˜ืึทื˜ื™ืง.
  • ื ื™ื™ึท ื˜ื™ืคึผ - ื’ืขืžื™ืฉื˜, ื•ื•ืึธืก ืงืขื ืขืŸ ื•ื•ืขืจืŸ ื’ืขื ื•ืฆื˜ ืฆื• ื‘ืึทืฉืœื™ืกืŸ ืฆื™ ืึท ืคึฟื•ื ืงืฆื™ืข ืึทืงืกืขืคึผืฅ ืคึผืึทืจืึทืžืขื˜ืขืจืก ืคื•ืŸ ืคืึทืจืฉื™ื“ืขื ืข ื˜ื™ื™ืคึผืก.
  • ืื•ื™ืกื“ืจื•ืง ื•ื•ืึทืจืคืŸ ืฆื• ืฉืขืคึผืŸ ืื•ื™ืกื ืขืžืขืŸ.
  • WeakMap ืฆื• ืฉืึทืคึฟืŸ ืึทื‘ื“ื–ืฉืขืงืฅ ื•ื•ืึธืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ืžืงืจื™ื‘ ื’ืขื•ื•ืขืŸ ื‘ืขืฉืึทืก ืžื™ืกื˜ ื–ืึทืžืœื•ื ื’ (ืœืžืฉืœ, ืฆื• ืงืจืึธื ื•ืžื ื™ื™ื˜ื™ืง ืงืึทื˜ืฉืขืก).
  • ื’ืขืœืขื’ื ื”ื™ื™ื˜ ื ื™ืฆืŸ ื“ื™ ืื•ื™ืกื“ืจื•ืง ":: ืงืœืึทืก" ืคึฟืึทืจ ืึทื‘ื“ื–ืฉืขืงืฅ (ืึทื ืึทืœืึธื’ ืฆื• ืจื•ืคืŸ get_class ()).
  • ื’ืขืœืขื’ื ื”ื™ื™ื˜ ื–ื•ืš ืื™ืŸ ื“ื™ ื›ืึทืคึผืŸ ื‘ืœืึธืง ืคื•ืŸ ืื•ื™ืกื ืขืžืขืŸ ื•ื•ืึธืก ื–ืขื ืขืŸ ื ื™ืฉื˜ ื’ืขื‘ื•ื ื“ืŸ ืฆื• ื•ื•ืขืจื™ืึทื‘ืึทืœื–.
  • ื’ืขืœืขื’ื ื”ื™ื™ื˜ ืœืึธื–ืŸ ืึท ืงืึธืžืข ื ืึธืš ื“ื™ ืœืขืฆื˜ืข ืขืœืขืžืขื ื˜ ืื™ืŸ ื“ืขืจ ืจืฉื™ืžื” ืคื•ืŸ ืคื•ื ืงืฆื™ืข ืคึผืึทืจืึทืžืขื˜ืขืจืก.
  • ื ื™ื• ืฆื•ื‘ื™ื ื“ ืกื˜ืจื™ื ื’ืึทื‘ืœืข ืฆื• ื™ื“ืขื ื˜ื™ืคื™ืฆื™ืจืŸ ืงื™ื™ืŸ ืฉื˜ืจื™ืงืœ ื˜ื™ื™ืคึผืก ืึธื“ืขืจ ื“ืึทื˜ืŸ ื•ื•ืึธืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ืงืึธื ื•ื•ืขืจื˜ืขื“ ืฆื• ืึท ืฉื˜ืจื™ืงืœ (ืคึฟืึทืจ ื•ื•ืึธืก ื“ื™ __toString () ืื•ืคึฟืŸ ืื™ื– ื‘ื ื™ืžืฆื).
  • ื ื™ื• ืฉื˜ืจื™ืš str_contains(), ืึท ืกื™ืžืคึผืœืึทืคื™ื™ื“ ืึทื ืึทืœืึธื’ ืคื•ืŸ strpos ืคึฟืึทืจ ื“ื™ื˜ืขืจืžืึทื ื™ื ื’ ื“ื™ ืคึผืึทืกื™ืจื•ื ื’ ืคื•ืŸ ืึท ืกื•ื‘ืกื˜ืจื™ื ื’, ื•ื•ื™ ื’ืขื–ื•ื ื˜ ื•ื•ื™ ื“ื™ ืคืึทื ื’ืงืฉืึทื ื– str_starts_with() ืื•ืŸ str_ends_with() ืคึฟืึทืจ ืงืึธื ื˜ืจืึธืœื™ืจื•ื ื’ ืฉื•ื•ืขื‘ืขืœืขืš ืื™ืŸ ื“ื™ ืึธื ื”ื™ื™ื‘ ืื•ืŸ ืกื•ืฃ ืคื•ืŸ ืึท ืฉื˜ืจื™ืงืœ.
  • ืฆื•ื’ืขื’ืขื‘ืŸ ืฉื˜ืจื™ืš fdiv(), ื•ื•ืึธืก ืคึผืขืจืคืึธืจืžื– ืึท ืึธืคึผื˜ื™ื™ืœ ืึธืคึผืขืจืึทืฆื™ืข ืึธืŸ ืคืืจื•ื•ืืจืคืŸ ืึท ื˜ืขื•ืช ื•ื•ืขืŸ ื“ื™ื•ื•ื™ื™ื“ื™ื ื’ ืžื™ื˜ ื ื•ืœ.
  • ื’ืขื‘ื™ื˜ืŸ ืฉื˜ืจื™ืงืœ ื“ื–ืฉื•ื™ื ื™ื ื’ ืœืึธื’ื™ืง. ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ื“ืขืจ ืื•ื™ืกื“ืจื•ืง 'ืขืงืึธื• "ืกืึทื›ืึทืงืœ:" . $a + $b' ืื™ื– ืคืจื™ืขืจ ื™ื ื˜ืขืจืคึผืจืึทื˜ืึทื“ ื•ื•ื™ 'ืขืงืึธื• ("ืกืึทื: ". $ืึท) + $ื‘', ืื•ืŸ ืื™ืŸ ืคืคึผ 8 ื•ื•ืขื˜ ื–ื™ื™ืŸ ื‘ืื”ืื ื“ืœื˜ ื•ื•ื™ 'ืืคืงืœืื ื’ "sum: ". ($ืึท + $ื‘)'.
  • ื˜ื™ื™ื˜ืึทื ื“ ืงืึธื ื˜ืจืึธืœื™ืจืŸ ืึทืจื™ื˜ืžืขื˜ื™ืง ืื•ืŸ ื‘ื™ืกืœ ืึทืคึผืขืจื™ื™ืฉืึทื ื–, ืœืžืฉืœ, ื“ื™ ืื•ื™ืกื“ืจื•ืงืŸ "[] % [42]" ืื•ืŸ "$ืึธื‘ื“ื–ืฉืขืงื˜ + 4" ื•ื•ืขื˜ ืจืขื–ื•ืœื˜ืึทื˜ ืื™ืŸ ืึท ื˜ืขื•ืช.
  • ื™ืžืคึผืœืขืžืขื ื˜ืขื“ ืึท ืกื˜ืึทื‘ื™ืœ ืกืึธืจื˜ื™ื ื’ ืึทืœื’ืขืจื™ื“ืึทื ืื™ืŸ ื•ื•ืึธืก ื“ื™ ืกื“ืจ ืคื•ืŸ ื™ื™ื“ืขื ื™ืงืึทืœ ื•ื•ืึทืœื•ืขืก ืื™ื– ืืคื’ืขื”ื™ื˜ ืื™ืŸ ืคืึทืจืฉื™ื“ืขื ืข ืจืึทื ื–.
  • ืžืงื•ืจ: opennet.ru

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’