PHP 8 เจฆเฉ€ เจฌเฉ€เจŸเจพ เจŸเฉˆเจธเจŸเจฟเฉฐเจ— เจธเจผเฉเจฐเฉ‚ เจนเฉ‹ เจ—เจˆ เจนเฉˆ

เจชเฉ‡เจธเจผ เจ•เฉ€เจคเจพ ะฟะตั€ะฒั‹ะน ะฑะตั‚ะฐ-ะฒั‹ะฟัƒัะบ ะฝะพะฒะพะน ะฒะตั‚ะบะธ ัะทั‹ะบะฐ ะฟั€ะพะณั€ะฐะผะผะธั€ะพะฒะฐะฝะธั PHP 8. ะ ะตะปะธะท ะฝะฐะผะตั‡ะตะฝ ะฝะฐ 26 ะฝะพัะฑั€ั. ะžะดะฝะพะฒั€ะตะผะตะฝะฝะพ ัั„ะพั€ะผะธั€ะพะฒะฐะฝั‹ ะบะพั€ั€ะตะบั‚ะธั€ัƒัŽั‰ะธะต ะฒั‹ะฟัƒัะบะธ PHP 7.4.9, 7.3.21 ะธ
7.2.33, ะฒ ะบะพั‚ะพั€ั‹ั… ัƒัั‚ั€ะฐะฝะตะฝั‹ ะฝะฐะบะพะฟะธะฒัˆะธะตัั ะพัˆะธะฑะบะธ ะธ ัƒัะทะฒะธะผะพัั‚ะธ.

เจฎเฉเฉฑเจ– เจจเจตเฉ€เจจเจคเจพเจตเจพเจ‚ PHP 8:

  • เจชเจพเจตเจฐ เจ…เจช เจœเฉ‡เจ†เจˆเจŸเฉ€ เจ•เฉฐเจชเจพเจˆเจฒเจฐ, เจœเจฟเจธ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ‰เจคเจชเจพเจฆเจ•เจคเจพ เจตเจฟเฉฑเจš เจธเฉเจงเจพเจฐ เจ•เจฐเฉ‡เจ—เฉ€เฅค
  • เจธเจชเฉ‹เจฐเจŸ ะธะผะตะฝะพะฒะฐะฝะฝั‹ั… ะฐั€ะณัƒะผะตะฝั‚ะพะฒ ั„ัƒะฝะบั†ะธะน, ะฟะพะทะฒะพะปััŽั‰ะธั… ะฟะตั€ะตะดะฐะฒะฐะฒะฐั‚ัŒ ะฒ ั„ัƒะฝะบั†ะธัŽ ะทะฝะฐั‡ะตะฝะธั ะฒ ะฟั€ะธะฒัะทะบะต ะบ ะธะผะตะฝะฐะผ, ั‚.ะต. ะผะพะถะฝะพ ะฟะตั€ะตะดะฐะฒะฐั‚ัŒ ะฐั€ะณัƒะผะตะฝั‚ั‹ ะฒ ะฟั€ะพะธะทะฒะพะปัŒะฝะพะผ ะฟะพั€ัะดะบะต ะธ ะพะฟั€ะตะดะตะปัั‚ัŒ ะฝะตะพะฑัะทะฐั‚ะตะปัŒะฝั‹ะต ะฐั€ะณัƒะผะตะฝั‚ั‹. ะะฐะฟั€ะธะผะตั€, ยซarray_fill(start_index: 0, num: 100, value: 50)ยป.
  • ะŸั€ะธ ะฒั‹ะทะพะฒะต ะผะตั‚ะพะดะพะฒ เจ†เจ—เจฟเจ† เจนเฉˆ ะฟั€ะธะผะตะฝะตะฝะธะต ะพะฟะตั€ะฐั‚ะพั€ะฐ ยซ?ยป, ะบะพั‚ะพั€ั‹ะน ะฟะพะทะฒะพะปัะตั‚ ะธะฝะธั†ะธะธั€ะพะฒะฐั‚ัŒ ะฒั‹ะทะพะฒ ั‚ะพะปัŒะบะพ, ะตัะปะธ ะผะตั‚ะพะด ะฟั€ะธััƒั‚ัั‚ะฒัƒะตั‚, ั‡ั‚ะพ ะฟะพะทะฒะพะปัะตั‚ ะธะทะฑะตะถะฐั‚ัŒ ะปะธัˆะฝะธั… ะฟั€ะพะฒะตั€ะพะบ ะฝะฐ ะฒะพะทะฒั€ะฐั‚ ะทะฝะฐั‡ะตะฝะธั ยซnullยป. ะะฐะฟั€ะธะผะตั€, ยซ$dateAsString = $booking->getStartDate()?->asDateTimeString()ยป;
  • เจธเจชเฉ‹เจฐเจŸ เจฏเฉ‚เจจเฉ€เจ…เจจ เจ•เจฟเจธเจฎ, เจฆเฉ‹ เจœเจพเจ‚ เจฆเฉ‹ เจคเฉ‹เจ‚ เจตเฉฑเจง เจ•เจฟเจธเจฎเจพเจ‚ เจฆเฉ‡ เจธเฉฐเจ—เฉเจฐเจนเจฟ เจจเฉ‚เฉฐ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเจจเจพ (เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, โ€œเจชเจฌเจฒเจฟเจ• เจซเฉฐเจ•เจธเจผเจจ foo(Foo|Bar $input): int|float;โ€)เฅค
  • เจธเจชเฉ‹เจฐเจŸ เจ—เฉเจฃ (เจเจจเฉ‹เจŸเฉ‡เจธเจผเจจ) เจœเฉ‹ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฎเฉˆเจŸเจพเจกเฉ‡เจŸเจพ (เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ•เจฟเจธเจฎ เจฆเฉ€ เจœเจพเจฃเจ•เจพเจฐเฉ€) เจจเฉ‚เฉฐ Docblock เจธเฉฐเจŸเฉˆเจ•เจธ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เฉ€เจคเฉ‡ เจฌเจฟเจจเจพเจ‚ เจ•เจฒเจพเจธเจพเจ‚ เจจเจพเจฒ เจœเฉ‹เฉœเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเฉ‡ เจนเจจเฅค
  • ะŸะพะดะดะตั€ะถะบะฐ ะฒั‹ั€ะฐะถะตะฝะธะน เจฎเฉˆเจš, ะบะพั‚ะพั€ั‹ะต ะฒ ะพั‚ะปะธั‡ะธะต ะพั‚ switch ะผะพะณัƒั‚ ะฒะพะทะฒั€ะฐั‰ะฐั‚ัŒ ะทะฝะฐั‡ะตะฝะธั, ะฟะพะดะดะตั€ะถะธะฒะฐัŽั‚ ะบะพะผะฑะธะฝะธั€ะพะฒะฐะฝะธะต ัƒัะปะพะฒะธะน, ะธัะฟะพะปัŒะทัƒัŽั‚ ัั‚ั€ะพะณะพะต ัั€ะฐะฒะฝะตะฝะธะต ั‚ะธะฟะพะฒ ะธ ะฝะต ั‚ั€ะตะฑัƒัŽั‚ ัƒะบะฐะทะฐะฝะธั ยซbreakยป.

    $result = match($input) {
    0 => ยซhelloยป,
    โ€˜1โ€™, โ€˜2โ€™, โ€˜3โ€™ => ยซworldยป,
    };

  • เจ›เฉ‹เจŸเจพ เจธเฉฐเจŸเฉˆเจ•เจธ เจ•เจฒเจพเจธ เจชเจฐเจฟเจญเจพเจธเจผเจพเจตเจพเจ‚, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เฉฐเจธเจŸเจฐเจ•เจŸเจฐ เจ…เจคเฉ‡ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจฆเฉ€ เจชเจฐเจฟเจญเจพเจธเจผเจพ เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจจ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเฉ€เจ†เจ‚ เจนเจจเฅค
  • เจจเจตเฉ€เจ‚ เจตเจพเจชเจธเฉ€ เจ•เจฟเจธเจฎ - เจธเจฅเจฟเจฐ.
  • เจจเจตเฉ€เจ‚ เจ•เจฟเจธเจฎ - เจฎเจฟเจ•เจธเจก, เจœเจฟเจธเจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ‡เจน เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจ เจฒเจˆ เจ•เฉ€เจคเฉ€ เจœเจพ เจธเจ•เจฆเฉ€ เจนเฉˆ เจ•เจฟ เจ•เฉ€ เจ•เฉ‹เจˆ เจซเฉฐเจ•เจธเจผเจจ เจตเฉฑเจ–-เจตเฉฑเจ– เจ•เจฟเจธเจฎเจพเจ‚ เจฆเฉ‡ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจธเจตเฉ€เจ•เจพเจฐ เจ•เจฐเจฆเจพ เจนเฉˆเฅค
  • เจธเจฎเฉ€เจ•เจฐเจจ เจธเฉเฉฑเจŸ เจ…เจชเจตเจพเจฆ เจจเฉ‚เฉฐ เจธเฉฐเจญเจพเจฒเจฃ เจฒเจˆ.
  • เจ•เจฎเจœเจผเฉ‹เจฐ เจจเจ•เจธเจผเจพ เจตเจธเจคเฉ‚เจ†เจ‚ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจœเฉ‹ เจ•เฉ‚เฉœเจพ เจ‡เจ•เฉฑเจ เจพ เจ•เจฐเจจ เจฆเฉŒเจฐเจพเจจ เจ•เฉเจฐเจฌเจพเจจ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจœเจพ เจธเจ•เจฆเฉ€เจ†เจ‚ เจนเจจ (เจ‰เจฆเจพเจนเจฐเจฃ เจตเจœเฉ‹เจ‚, เจฌเฉ‡เจฒเฉ‹เฉœเฉ‡ เจ•เฉˆเจšเจพเจ‚ เจจเฉ‚เฉฐ เจธเจŸเฉ‹เจฐ เจ•เจฐเจจ เจฒเจˆ)เฅค
  • เจฎเฉŒเจ•เจพ เจตเจธเจคเฉ‚เจ†เจ‚ เจฒเจˆ เจธเจฎเฉ€เจ•เจฐเจจ "::class" เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ (get_class() เจจเฉ‚เฉฐ เจ•เจพเจฒ เจ•เจฐเจจ เจฆเฉ‡ เจธเจฎเจพเจจ)เฅค
  • เจฎเฉŒเจ•เจพ เจ…เจชเจตเจพเจฆเจพเจ‚ เจฆเฉ‡ เจ•เฉˆเจš เจฌเจฒเจพเจ• เจตเจฟเฉฑเจš เจชเจฐเจฟเจญเจพเจธเจผเจพเจตเจพเจ‚ เจœเฉ‹ เจตเฉ‡เจฐเฉ€เจเจฌเจฒเจพเจ‚ เจจเจพเจฒ เจฌเฉฐเจจเฉเจนเฉ‡ เจจเจนเฉ€เจ‚ เจนเจจเฅค
  • เจฎเฉŒเจ•เจพ เจซเฉฐเจ•เจธเจผเจจ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐเจพเจ‚ เจฆเฉ€ เจธเฉ‚เจšเฉ€ เจตเจฟเฉฑเจš เจ†เจ–เจฐเฉ€ เจคเฉฑเจค เจฆเฉ‡ เจฌเจพเจ…เจฆ เจ‡เฉฑเจ• เจ•เฉŒเจฎเจพ เจ›เฉฑเจกเจฃเจพเฅค
  • เจจเจตเจพเจ‚ เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ เจธเจŸเฉเจฐเจฟเฉฐเจ—เฉ‡เจฌเจฒ เจ•เจฟเจธเฉ‡ เจตเฉ€ เจธเจŸเฉเจฐเจฟเฉฐเจ— เจ•เจฟเจธเจฎ เจœเจพเจ‚ เจกเฉ‡เจŸเจพ เจฆเฉ€ เจชเจ›เจพเจฃ เจ•เจฐเจจ เจฒเจˆ เจœเฉ‹ เจ‡เฉฑเจ• เจธเจŸเฉเจฐเจฟเฉฐเจ— เจตเจฟเฉฑเจš เจฌเจฆเจฒเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ (เจœเจฟเจธ เจฒเจˆ __toString() เจตเจฟเจงเฉ€ เจ‰เจชเจฒเจฌเจง เจนเฉˆ)เฅค
  • เจจเจตเฉ€เจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพ str_contains(), เจ‡เฉฑเจ• เจธเจฌเจธเจŸเฉเจฐเจฟเฉฐเจ— เจฆเฉ€ เจฎเฉŒเจœเฉ‚เจฆเจ—เฉ€ เจจเฉ‚เฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจ เจฒเจˆ strpos เจฆเจพ เจ‡เฉฑเจ• เจธเจฐเจฒ เจเจจเจพเจฒเจพเจ—, เจจเจพเจฒ เจนเฉ€ เจ‡เฉฑเจ• เจธเจคเจฐ เจฆเฉ‡ เจธเจผเฉเจฐเฉ‚ เจ…เจคเฉ‡ เจ…เฉฐเจค เจตเจฟเฉฑเจš เจฎเฉˆเจšเจพเจ‚ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจจ เจฒเจˆ เจซเฉฐเจ•เจธเจผเจจเจพเจ‚ str_starts_with() เจ…เจคเฉ‡ str_ends_with()เฅค
  • เจซเฉฐเจ•เจธเจผเจจ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเจพ เจ—เจฟเจ† fdiv(), เจœเฉ‹ เจœเจผเฉ€เจฐเฉ‹ เจจเจพเจฒ เจตเฉฐเจกเจฃ เจตเฉ‡เจฒเฉ‡ เจ•เฉ‹เจˆ เจ—เจฒเจคเฉ€ เจธเฉเฉฑเจŸเฉ‡ เจฌเจฟเจจเจพเจ‚ เจ‡เฉฑเจ• เจตเฉฐเจก เจ•เจพเจฐเจตเจพเจˆ เจ•เจฐเจฆเจพ เจนเฉˆเฅค
  • เจฌเจฆเจฒเจฟเจ† เจธเจคเจฐ เจœเฉ‹เฉœเจจ เจฆเจพ เจคเจฐเจ•เฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจธเจฎเฉ€เจ•เจฐเจจ 'echo "sum:"เฅค $a + $b' เจจเฉ‚เฉฐ เจชเจนเจฟเจฒเจพเจ‚ 'echo ("sum: ". $a) + $b' เจตเจœเฉ‹เจ‚ เจธเจฎเจเจฟเจ† เจœเจพเจ‚เจฆเจพ เจธเฉ€, เจ…เจคเฉ‡ PHP เจตเจฟเฉฑเจš 8 เจจเฉ‚เฉฐ 'echo "sum:" เจฎเฉฐเจจเจฟเจ† เจœเจพเจตเฉ‡เจ—เจพเฅค ($a + $b)'เฅค
  • เจ•เฉฑเจธเจฟเจ† เจ…เฉฐเจ•เจ—เจฃเจฟเจค เจ…เจคเฉ‡ เจฌเจฟเฉฑเจŸ เจ“เจชเจฐเฉ‡เจธเจผเจจเจพเจ‚ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจจเจพ, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจธเจฎเฉ€เจ•เจฐเจจ "[] % [42]" เจ…เจคเฉ‡ "$object + 4" เจฆเฉ‡ เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚ เจ‡เฉฑเจ• เจ—เจฒเจคเฉ€ เจนเฉ‹เจตเฉ‡เจ—เฉ€เฅค
  • เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจ‡เฉฑเจ• เจธเจฅเจฟเจฐ เจ›เจพเจ‚เจŸเฉ€ เจ•เจฐเจจ เจตเจพเจฒเจพ เจเจฒเจ—เฉ‹เจฐเจฟเจฆเจฎ เจœเจฟเจธ เจตเจฟเฉฑเจš เจตเฉฑเจ–-เจตเฉฑเจ– เจฆเฉŒเฉœเจพเจ‚ เจตเจฟเฉฑเจš เจ‡เฉฑเจ•เฉ‹ เจœเจฟเจนเฉ‡ เจฎเฉเฉฑเจฒเจพเจ‚ เจฆเจพ เจ•เฉเจฐเจฎ เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจฐเฉฑเจ–เจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค
  • เจธเจฐเฉ‹เจค: opennet.ru

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹