PHP 8-เดจเตเดฑเต† เดฌเต€เดฑเตเดฑเดพ เดŸเต†เดธเตเดฑเตเดฑเดฟเด‚เด—เต เด†เดฐเด‚เดญเดฟเดšเตเดšเต

เดธเดฎเตผเดชเตเดชเดฟเดšเตเดšเดคเต PHP 8 เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเดฟเด‚เด—เต เดญเดพเดทเดฏเตเดŸเต† เดชเตเดคเดฟเดฏ เดถเดพเด–เดฏเตเดŸเต† เด†เดฆเตเดฏ เดฌเต€เดฑเตเดฑ เดฑเดฟเดฒเต€เดธเต เดจเดตเด‚เดฌเตผ 26 เดจเต เด†เดฃเต. เด…เดคเต‡ เดธเดฎเดฏเด‚, PHP 7.4.9, 7.3.21 เดŽเดจเตเดจเดฟเดตเดฏเตเดŸเต† เดคเดฟเดฐเตเดคเตเดคเตฝ เดฑเดฟเดฒเต€เดธเตเด•เดณเตเด‚
7.2.33, เด‡เดคเต เด•เตเดฎเดฟเดžเตเดžเตเด•เต‚เดŸเดฟเดฏ เดชเดฟเดถเด•เตเด•เดณเตเด‚ เด•เต‡เดŸเตเดชเดพเดŸเตเด•เดณเตเด‚ เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เดฟ.

เดชเตเดฐเดงเดพเดจ เดชเตเดคเตเดฎเด•เตพ PHP 8:

  • เดชเตเดฐเดพเดชเตเดคเดฎเดพเด•เตเด•เตเดจเตเดจเต JIT เด•เดฎเตเดชเตˆเดฒเตผ, เด‡เดตเดฏเตเดŸเต† เด‰เดชเดฏเต‹เด—เด‚ เด‰เดคเตเดชเดพเดฆเดจเด•เตเดทเดฎเดค เดฎเต†เดšเตเดšเดชเตเดชเต†เดŸเตเดคเตเดคเตเด‚.
  • เดชเดฟเดจเตเดคเตเดฃ เดชเต‡เดฐเตเด•เดณเตเดณเตเดณ เดซเด‚เด—เตโ€Œเดทเตป เด†เตผเด—เตเดฏเตเดฎเต†เดจเตเดฑเตเด•เตพ, เดชเต‡เดฐเตเด•เดณเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸเต เดซเด‚เด—เตโ€Œเดทเดจเดฟเดฒเต‡เด•เตเด•เต เดฎเต‚เดฒเตเดฏเด™เตเด™เตพ เด•เตˆเดฎเดพเดฑเดพเตป เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดคเดพเดฏเดคเต. เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดเดคเต เด•เตเดฐเดฎเดคเตเดคเดฟเดฒเตเด‚ เด†เตผเด—เตเดฏเตเดฎเต†เดจเตเดฑเตเด•เตพ เดชเดพเดธเดพเด•เตเด•เดพเดจเตเด‚ เด“เดชเตเดทเดฃเตฝ เด†เตผเด—เตเดฏเตเดฎเต†เดจเตเดฑเตเด•เตพ เดจเดฟเตผเดตเดšเดฟเด•เตเด•เดพเดจเตเด‚ เด•เดดเดฟเดฏเตเด‚. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, "array_fill(start_index: 0, num: 100, value: 50)".
  • เดฐเต€เดคเดฟเด•เตพ เดตเดฟเดณเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เด…เดจเตเดตเดฆเดฟเดšเตเดšเต "?" เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเตผ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต, เดˆ เดฐเต€เดคเดฟ เดจเดฟเดฒเดตเดฟเดฒเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ เดฎเดพเดคเตเดฐเด‚ เด’เดฐเต เด•เต‹เตพ เด†เดฐเด‚เดญเดฟเด•เตเด•เดพเตป เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต, เด‡เดคเต "เดจเตพ" เดฎเต‚เดฒเตเดฏเด‚ เดคเดฟเดฐเดฟเด•เต† เดจเตฝเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เด…เดจเดพเดตเดถเตเดฏ เดชเดฐเดฟเดถเต‹เดงเดจเด•เตพ เด’เดดเดฟเดตเดพเด•เตเด•เตเดจเตเดจเต. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, "$dateAsString = $booking->getStartDate()?->asDateTimeString()";
  • เดชเดฟเดจเตเดคเตเดฃ เดฏเต‚เดฃเดฟเดฏเตป เดคเดฐเด™เตเด™เตพ, เดฐเดฃเตเดŸเต‹ เด…เดคเดฟเดฒเดงเดฟเด•เดฎเต‹ เดคเดฐเด™เตเด™เดณเตเดŸเต† เดถเต‡เด–เดฐเด™เตเด™เดณเต† เดจเดฟเตผเดตเดšเดฟเด•เตเด•เตเดจเตเดจเต (เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, "เดชเดฌเตเดฒเดฟเด•เต เดซเด‚เด—เตโ€Œเดทเตป foo(Foo|Bar $input): int|float;").
  • เดชเดฟเดจเตเดคเตเดฃ เด—เตเดฃเดตเดฟเดถเต‡เดทเด™เตเด™เตพ เดกเต‹เด•เตเดฌเตเดฒเต‹เด•เตเด•เต เดตเดพเด•เตเดฏเด˜เดŸเดจ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเดคเต† เด•เตเดฒเดพเดธเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดฎเต†เดฑเตเดฑเดพเดกเดพเดฑเตเดฑ (เดคเดฐเด‚ เดตเดฟเดตเดฐเด™เตเด™เตพ เดชเต‹เดฒเตเดณเตเดณเดต) เดฌเตˆเตปเดกเต เดšเต†เดฏเตเดฏเดพเตป เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจ (เดตเดฟเดถเด•เดฒเดจเด™เตเด™เตพ).
  • เดŽเด•เตเดธเตเดชเตเดฐเดทเตป เดชเดฟเดจเตเดคเตเดฃ เดฎเดคเตเดธเดฐเด‚, เดธเตเดตเดฟเดšเตเดšเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฏเดฟ, เดฎเต‚เดฒเตเดฏเด™เตเด™เตพ เดจเตฝเด•เดพเดจเตเด‚ เดตเตเดฏเดตเดธเตเดฅเด•เตพ เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเด•เตเด•เดพเดจเตเด‚ เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เดพเดจเตเด‚ เด•เตผเดถเดจเดฎเดพเดฏ เดคเดฐเด‚ เดคเดพเดฐเดคเดฎเตเดฏเด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเดจเตเด‚ "เดฌเตเดฐเต‡เด•เตเด•เต" เดธเตเดชเต†เดธเดฟเดซเดฟเด•เตเด•เต‡เดทเตป เด†เดตเดถเตเดฏเดฎเดฟเดฒเตเดฒ.

    $เดซเดฒเด‚ = เดชเตŠเดฐเตเดคเตเดคเด‚($เด‡เตปเดชเตเดŸเตเดŸเต) {
    0 => "เดนเดฒเต‹",
    '1', '2', '3' => "เดฒเต‹เด•เด‚",
    };

  • เดšเตเดฐเตเด•เตเด•เดฟเดฏ เดตเดพเด•เตเดฏเด˜เดŸเดจ เด•เตเดฒเดพเดธเต เดจเดฟเตผเดตเดšเดจเด™เตเด™เตพ, เด’เดฐเต เด•เตบเดธเตเดŸเตเดฐเด•เตเดฑเตเดฑเตผ, เดชเตเดฐเต‹เดชเตเดชเตผเดŸเตเดŸเดฟเด•เตพ เดŽเดจเตเดจเดฟเดตเดฏเตเดŸเต† เดจเดฟเตผเดตเดšเดจเด‚ เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต.
  • เดชเตเดคเดฟเดฏ เดฑเดฟเดŸเตเดŸเต‡เตบ เดคเดฐเด‚ - เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เตเด•เต.
  • เดชเตเดคเดฟเดฏ เดคเดฐเด‚ - เดฎเดฟเด•เตเดธเดกเต, เด’เดฐเต เดซเด‚เด—เตโ€Œเดทเตป เดตเตเดฏเดคเตเดฏเดธเตโ€Œเดค เดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ เดชเดฐเดพเดฎเต€เดฑเตเดฑเดฑเตเด•เตพ เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเตเดฃเตเดŸเต‹ เดŽเดจเตเดจเต เดจเดฟเตผเดฃเตเดฃเดฏเดฟเด•เตเด•เดพเตป เด‡เดคเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚.
  • เดŽเด•เตเดธเตเดชเตเดฐเดทเตป เดŽเดฑเดฟเดฏเตเด• เด’เดดเดฟเดตเดพเด•เตเด•เดฒเตเด•เตพ เด•เตˆเด•เดพเดฐเตเดฏเด‚ เดšเต†เดฏเตเดฏเดพเตป.
  • เดฆเตเตผเดฌเดฒเดฎเดพเดฏ เดฎเดพเดชเตเดชเต เดฎเดพเดฒเดฟเดจเตเดฏ เดถเต‡เด–เดฐเดฃ เดธเดฎเดฏเดคเตเดคเต เดฌเดฒเดฟเดฏเตผเดชเตเดชเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเดจเตเดจ เดตเดธเตเดคเตเด•เตเด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเตป (เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เด…เดจเดพเดตเดถเตเดฏ เด•เดพเดทเต†เด•เตพ เดธเต‚เด•เตเดทเดฟเด•เตเด•เดพเตป).
  • เด…เดตเดธเดฐเด‚ เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเตเด•เตพเด•เตเด•เดพเดฏเดฟ "::class" เดŽเดจเตเดจ เดชเดฆเดชเตเดฐเดฏเต‹เด—เด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต (get_class() เดŽเดจเตเดจเต เดตเดฟเดณเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดธเดฎเดพเดจเดฎเดพเดฃเต).
  • เด…เดตเดธเดฐเด‚ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดฎเดฟเดฒเตเดฒเดพเดคเตเดค เด’เดดเดฟเดตเดพเด•เตเด•เดฒเตเด•เดณเตเดŸเต† เด•เตเดฏเดพเดšเตเดšเต เดฌเตเดฒเต‹เด•เตเด•เดฟเดฒเต† เดจเดฟเตผเดตเดšเดจเด™เตเด™เตพ.
  • เด…เดตเดธเดฐเด‚ เดซเด‚เด—เตเดทเตป เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเดฑเตเด•เดณเตเดŸเต† เดชเดŸเตเดŸเดฟเด•เดฏเดฟเดฒเต† เด…เดตเดธเดพเดจ เด˜เดŸเด•เดคเตเดคเดฟเดจเต เดถเต‡เดทเด‚ เด•เต‹เดฎ เดตเดฟเดŸเตเดจเตเดจเต.
  • เดชเตเดคเดฟเดฏ เด‡เดจเตเดฑเตผเดซเต‡เดธเต เดธเตเดŸเตเดฐเดฟเด‚เด—เดฌเดฟเตพ เด’เดฐเต เดธเตโ€ŒเดŸเตเดฐเดฟเด‚เด—เดฟเดฒเต‡เด•เตเด•เต เดชเดฐเดฟเดตเตผเดคเตเดคเดจเด‚ เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเดจเตเดจ เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดธเตโ€ŒเดŸเตเดฐเดฟเด‚เด—เต เดคเดฐเด™เตเด™เดณเต‹ เดกเดพเดฑเตเดฑเดฏเต‹ เดคเดฟเดฐเดฟเดšเตเดšเดฑเดฟเดฏเตเดจเตเดจเดคเดฟเดจเต (เด‡เดคเดฟเดจเต __toString() เดฐเต€เดคเดฟ เดฒเดญเตเดฏเดฎเดพเดฃเต).
  • เดชเตเดคเดฟเดฏ เดธเดตเดฟเดถเต‡เดทเดค str_contains(), เด’เดฐเต เดธเดฌเตโ€Œเดธเตโ€ŒเดŸเตเดฐเดฟเด‚เด—เดฟเดจเตเดฑเต† เด†เดตเดฟเตผเดญเดพเดตเด‚ เดจเดฟเตผเดฃเตเดฃเดฏเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ strpos-เดจเตเดฑเต† เดฒเดณเดฟเดคเดฎเดพเดฏ เด…เดจเดฒเต‹เด—เต, เด•เต‚เดŸเดพเดคเต† เด’เดฐเต เดธเตเดŸเตเดฐเดฟเด‚เด—เดฟเดจเตเดฑเต† เดคเตเดŸเด•เตเด•เดคเตเดคเดฟเดฒเตเด‚ เด…เดตเดธเดพเดจเดคเตเดคเดฟเดฒเตเด‚ เดชเตŠเดฐเตเดคเตเดคเด™เตเด™เตพ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ str_starts_with(), str_ends_with() เดŽเดจเตเดจเต€ เดซเด‚เด—เตโ€Œเดทเดจเตเด•เดณเตเด‚.
  • เดชเตเดฐเดตเตผเดคเตเดคเดจเด‚ เดšเต‡เตผเดคเตเดคเต fdiv(), เดชเต‚เดœเตเดฏเด‚ เด•เตŠเดฃเตเดŸเต เดนเดฐเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เด’เดฐเต เดชเดฟเดถเด•เต เดŽเดฑเดฟเดฏเดพเดคเต† เด’เดฐเต เดกเดฟเดตเดฟเดทเตป เดชเตเดฐเดตเตผเดคเตเดคเดจเด‚ เดจเดŸเดคเตเดคเตเดจเตเดจเต.
  • เดฎเดพเดฑเดฟ เดšเดฐเดŸเต เดšเต‡เดฐเตเดจเตเดจ เดฏเตเด•เตเดคเดฟ. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, 'เดŽเด•เตเด•เต‹ "เดธเด‚:" เดŽเดจเตเดจ เดชเตเดฐเดฏเต‹เด—เด‚. $a + $b' เดŽเดจเตเดจเดคเต เดฎเตเดฎเตเดชเต 'เดŽเด•เตเด•เต‹ ("เดธเด‚: ". $a) + $b' เด†เดฏเดฟ เดตเตเดฏเดพเด–เตเดฏเดพเดจเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดŸเดฟเดฐเตเดจเตเดจเต, เด•เต‚เดŸเดพเดคเต† PHP 8-เตฝ 'เดŽเด•เตเด•เต‹ "เดธเด‚:" เด†เดฏเดฟ เด•เดฃเด•เตเด•เดพเด•เตเด•เตเด‚. ($a + $b)'.
  • เดฎเตเดฑเตเด•เดฟ เด—เดฃเดฟเดคเดตเตเด‚ เดฌเดฟเดฑเตเดฑเต เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เดณเตเด‚ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเดจเตเดจเดคเต, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, "[] % [42]", "$object + 4" เดŽเดจเตเดจเต€ เดชเดฆเดชเตเดฐเดฏเต‹เด—เด™เตเด™เตพ เด’เดฐเต เดชเดฟเดถเด•เดฟเดจเต เด•เดพเดฐเดฃเดฎเดพเด•เตเด‚.
  • เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดฟ เดตเตเดฏเดคเตเดฏเดธเตเดค เดฑเดฃเตเดฃเตเด•เดณเดฟเดฒเตเดŸเดจเต€เดณเด‚ เด’เดฐเต‡ เดฎเต‚เดฒเตเดฏเด™เตเด™เดณเตเดŸเต† เด•เตเดฐเดฎเด‚ เดธเด‚เดฐเด•เตเดทเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจ เดธเตเดฅเดฟเดฐเดคเดฏเตเดณเตเดณ เดธเต‹เตผเดŸเตเดŸเดฟเด‚เด—เต เด…เตฝเด—เต‹เดฐเดฟเดคเด‚.
  • เด…เดตเดฒเด‚เดฌเด‚: opennet.ru

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•