PHP 8.2 เจฆเฉ€ เจ…เจฒเจซเจผเจพ เจŸเฉˆเจธเจŸเจฟเฉฐเจ— เจธเจผเฉเจฐเฉ‚ เจนเฉ‹ เจ—เจˆ เจนเฉˆ

PHP 8.2 เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจญเจพเจธเจผเจพ เจฆเฉ€ เจจเจตเฉ€เจ‚ เจธเจผเจพเจ–เจพ เจฆเจพ เจชเจนเจฟเจฒเจพ เจ…เจฒเจซเจผเจพ เจฐเฉ€เจฒเฉ€เจœเจผ เจชเฉ‡เจธเจผ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค เจฐเจฟเจฒเฉ€เจœเจผ 24 เจจเจตเฉฐเจฌเจฐ เจจเฉ‚เฉฐ เจนเฉ‹เจฃ เจตเจพเจฒเฉ€ เจนเฉˆเฅค PHP 8.2 เจตเจฟเฉฑเจš เจœเจพเจ‚เจš เจฒเจˆ เจชเจนเจฟเจฒเจพเจ‚ เจคเฉ‹เจ‚ เจนเฉ€ เจ‰เจชเจฒเจฌเจง เจฎเฉเฉฑเจ– เจจเจตเฉ€เจจเจคเจพเจตเจพเจ‚ เจœเจพเจ‚ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฒเจˆ เจฏเฉ‹เจœเจจเจพเจฌเฉฑเจง:

  • "เจ—เจฒเจค" เจ…เจคเฉ‡ "เจจเฉฑเจฒ" เจตเฉฑเจ–เจฐเฉ€เจ†เจ‚ เจ•เจฟเจธเจฎเจพเจ‚ เจœเฉ‹เฉœเฉ€เจ†เจ‚ เจ—เจˆเจ†เจ‚, เจœเฉ‹ เจ•เจฟ เจตเจฐเจคเฉ€เจ†เจ‚ เจœเจพ เจธเจ•เจฆเฉ€เจ†เจ‚ เจนเจจ, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ‡เฉฑเจ• เจซเฉฐเจ•เจธเจผเจจ เจฒเจˆ เจ‡เฉฑเจ• เจ—เจฒเจคเฉ€ เจธเจฎเจพเจชเจคเฉ€ เจซเจฒเฉˆเจ— เจœเจพเจ‚ เจ‡เฉฑเจ• เจ–เจพเจฒเฉ€ เจฎเฉเฉฑเจฒ เจตเจพเจชเจธ เจ•เจฐเจจ เจฒเจˆเฅค เจชเจนเจฟเจฒเจพเจ‚, โ€œfalseโ€ เจ…เจคเฉ‡ โ€œnullโ€ เจจเฉ‚เฉฐ เจธเจฟเจฐเจซเจผ เจนเฉ‹เจฐ เจ•เจฟเจธเจฎเจพเจ‚ (เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, โ€œstring|falseโ€) เจจเจพเจฒ เจœเฉ‹เฉœ เจ•เฉ‡ เจตเจฐเจคเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจธเฉ€, เจชเจฐ เจนเฉเจฃ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจตเฉฑเจ–เจฐเฉ‡ เจคเฉŒเจฐ 'เจคเฉ‡ เจตเจฐเจคเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ: function alwaysFalse(): false { return false; }
  • เจ‡เฉฑเจ• เจ•เจฒเจพเจธ เจจเฉ‚เฉฐ เจธเจฟเจฐเจซเจผ-เจชเฉœเฉเจนเจจ เจฒเจˆ เจšเจฟเฉฐเจจเฉเจนเจฟเจค เจ•เจฐเจจ เจฆเฉ€ เจฏเฉ‹เจ—เจคเจพ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ€ เจ—เจˆเฅค เจ…เจœเจฟเจนเฉ€เจ†เจ‚ เจ•เจฒเจพเจธเจพเจ‚ เจตเจฟเฉฑเจš เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพ เจธเจฟเจฐเจซเจผ เจ‡เฉฑเจ• เจตเจพเจฐ เจธเฉˆเฉฑเจŸ เจ•เฉ€เจคเฉ€ เจœเจพ เจธเจ•เจฆเฉ€ เจนเฉˆ, เจœเจฟเจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฟเจ† เจจเจนเฉ€เจ‚ เจœเจพ เจธเจ•เจฆเจพเฅค เจชเจนเจฟเจฒเจพเจ‚, เจตเจฟเจ…เจ•เจคเฉ€เจ—เจค เจ•เจฒเจพเจธ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจธเจฟเจฐเจซเจผ-เจชเฉœเฉเจนเจจ เจฒเจˆ เจšเจฟเฉฐเจจเฉเจนเจฟเจค เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจธเฉ€, เจชเจฐ เจนเฉเจฃ เจคเฉเจธเฉ€เจ‚ เจ‡เฉฑเจ• เจตเจพเจฐ เจตเจฟเฉฑเจš เจธเจพเจฐเฉ€เจ†เจ‚ เจ•เจฒเจพเจธ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจฒเจˆ เจ‡เจธ เจฎเฉ‹เจก เจจเฉ‚เฉฐ เจธเจฎเจฐเฉฑเจฅ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค เจ•เจฒเจพเจธ เจชเฉฑเจงเจฐ 'เจคเฉ‡ "เจชเฉœเฉเจนเจจ เจฒเจˆ เจธเจฟเจฐเจซเจผ" เจซเจฒเฉˆเจ— เจจเฉ‚เฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจเจพ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพ เจจเฉ‚เฉฐ เจ•เจฒเจพเจธ เจตเจฟเฉฑเจš เจ—เจคเฉ€เจธเจผเฉ€เจฒ เจคเฉŒเจฐ 'เจคเฉ‡ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ‡ เจœเจพเจฃ เจคเฉ‹เจ‚ เจตเฉ€ เจฐเฉ‹เจ•เจฆเจพ เจนเฉˆเฅค เจฐเฉ€เจกเจ“เจจเจฒเฉ€ เจ•เจฒเจพเจธ เจชเฉ‹เจธเจŸ { เจชเจฌเจฒเจฟเจ• เจซเฉฐเจ•เจธเจผเจจ __ เจ•เฉฐเจธเจŸเจฐเฉฑเจ•เจŸ ( เจœเจจเจคเจ• เจธเจคเจฐ $ เจธเจฟเจฐเจฒเฉ‡เจ–, เจœเจจเจคเจ• เจฒเฉ‡เจ–เจ• $ เจฒเฉ‡เจ–เจ•, ) {} } $ เจชเฉ‹เจธเจŸ = เจจเจตเฉ€เจ‚ เจชเฉ‹เจธเจŸ(/* โ€ฆ */); $post->เจ…เจฃเจœเจพเจฃ = 'เจ—เจฒเจค'; // เจคเจฐเฉเฉฑเจŸเฉ€: เจกเจพเจ‡เจจเจพเจฎเจฟเจ• เจธเฉฐเจชเฉฑเจคเฉ€ เจจเจนเฉ€เจ‚ เจฌเจฃเจพเจˆ เจœเจพ เจธเจ•เจฆเฉ€ เจชเฉ‹เจธเจŸ::$เจ…เจฃเจœเจพเจฃ
  • เจ‡เฉฑเจ• เจ•เจฒเจพเจธ เจตเจฟเฉฑเจš เจ—เฉเจฃเจพเจ‚ เจจเฉ‚เฉฐ เจ—เจคเฉ€เจธเจผเฉ€เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจฌเจฃเจพเจ‰เจฃ เจฆเฉ€ เจฏเฉ‹เจ—เจคเจพ (เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ‰เฉฑเจชเจฐ เจฆเจฟเฉฑเจคเฉ€ เจ‰เจฆเจพเจนเจฐเจจ เจตเจฟเฉฑเจš "เจชเฉ‹เจธเจŸ->เจ…เจฃเจœเจพเจฃ") เจจเฉ‚เฉฐ เจฌเจฐเจคเจฐเจซเจผ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค PHP 9.0 เจตเจฟเฉฑเจš, เจ‰เจนเจจเจพเจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจเจ•เจธเฉˆเจธ เจ•เจฐเจจเจพ เจœเฉ‹ เจธเจผเฉเจฐเฉ‚ เจตเจฟเฉฑเจš เจ•เจฒเจพเจธ เจตเจฟเฉฑเจš เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจจเจนเฉ€เจ‚ เจนเจจ, เจ‡เฉฑเจ• เจ—เจฒเจคเฉ€ (ErrorException) เจฆเจพ เจจเจคเฉ€เจœเจพ เจนเฉ‹เจตเฉ‡เจ—เจพเฅค เจ‰เจน เจ•เจฒเจพเจธเจพเจ‚ เจœเฉ‹ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ __get เจ…เจคเฉ‡ __set เจขเฉฐเจ— เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเฉ€เจ†เจ‚ เจนเจจ, เจœเจพเจ‚ stdClass เจตเจฟเฉฑเจš เจ—เจคเฉ€เจธเจผเฉ€เจฒ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจฌเจฆเจฒเจพเจตเจพเจ‚ เจฆเฉ‡ เจฌเจฟเจจเจพเจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ€เจ†เจ‚ เจฐเจนเจฟเจฃเจ—เฉ€เจ†เจ‚, เจธเจฟเจฐเจซ เจ—เฉˆเจฐ-เจฎเฉŒเจœเฉ‚เจฆ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจตเจพเจฒเฉ‡ เจ…เจชเฉเจฐเจคเฉฑเจ– เจ•เฉฐเจฎ เจจเฉ‚เฉฐ เจฒเฉเจ•เจตเฉ‡เจ‚ เจฌเฉฑเจ—เจพเจ‚ เจคเฉ‹เจ‚ เจฌเจšเจพเจ‰เจฃ เจฒเจˆ เจธเจฎเจฐเจฅเจฟเจค เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพเฅค เจชเฉเจฐเจพเจฃเฉ‡ เจ•เฉ‹เจก เจฆเฉ‡ เจ•เฉฐเจฎ เจจเฉ‚เฉฐ เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจฐเฉฑเจ–เจฃ เจฒเจˆ, "#[AllowDynamicProperties]" เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพ เจชเฉเจฐเจธเจคเจพเจตเจฟเจค เจนเฉˆ, เจœเจฟเจธ เจจเจพเจฒ เจ—เจคเฉ€เจธเจผเฉ€เจฒ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เฉ€เจคเฉ€ เจœเจพ เจธเจ•เจฆเฉ€ เจนเฉˆเฅค
  • เจ‡เฉฑเจ• เจ—เจฒเจคเฉ€ เจฆเฉ‡ เจฆเฉŒเจฐเจพเจจ เจธเจŸเฉˆเจ• เจŸเจฐเฉ‡เจธ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจตเจฟเฉฑเจš เจธเฉฐเจตเฉ‡เจฆเจจเจธเจผเฉ€เจฒ เจฎเจพเจชเจฆเฉฐเจกเจพเจ‚ เจจเฉ‚เฉฐ เจซเจฟเจฒเจŸเจฐ เจ•เจฐเจจ เจฆเฉ€ เจธเจฎเจฐเฉฑเจฅเจพ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจ•เฉเจ เจ–เจพเจธ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจจเฉ‚เฉฐ เจ•เฉฑเจŸเจฃเจพ เจœเจผเจฐเฉ‚เจฐเฉ€ เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ เจœเจฆเฉ‹เจ‚ เจตเจพเจชเจฐเจจ เจตเจพเจฒเฉ€เจ†เจ‚ เจ—เจฒเจคเฉ€เจ†เจ‚ เจฌเจพเจฐเฉ‡ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจ†เจชเจฃเฉ‡ เจ†เจช เจคเฉ€เจœเฉ€-เจงเจฟเจฐ เจฆเฉ€เจ†เจ‚ เจธเฉ‡เจตเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจญเฉ‡เจœเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ เจœเฉ‹ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจจเฉ‚เฉฐ เจŸเจฐเฉˆเจ• เจ•เจฐเจฆเฉ€เจ†เจ‚ เจนเจจ เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจฌเจพเจฐเฉ‡ เจกเจฟเจตเฉˆเจฒเจชเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจธเฉ‚เจšเจฟเจค เจ•เจฐเจฆเฉ€เจ†เจ‚ เจนเจจเฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจคเฉเจธเฉ€เจ‚ เจ‰เจนเจจเจพเจ‚ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจฌเจพเจนเจฐ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจœเจฟเจธ เจตเจฟเฉฑเจš เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจจเจพเจฎ, เจชเจพเจธเจตเจฐเจก เจ…เจคเฉ‡ เจตเจพเจคเจพเจตเจฐเจฃ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจจเฉ‚เฉฐ เจŸเจฐเฉ‡เจธเจฟเฉฐเจ— เจคเฉ‹เจ‚ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจซเฉฐเจ•เจธเจผเจจ เจŸเฉˆเจธเจŸ ($foo, #[\SensitiveParameter] $password, $baz ) { เจฅเฉเจฐเฉ‹ เจจเจฟเจŠ เจ…เจชเจตเจพเจฆ('Error'); } เจŸเฉˆเจธเจŸ ('foo', 'เจชเจพเจธเจตเจฐเจก', 'baz'); เจ˜เจพเจคเจ• เจ—เจฒเจคเฉ€: เจ…เจฃเจชเจ›เจพเจคเฉ€ เจ…เจชเจตเจพเจฆ: test.php เจตเจฟเฉฑเจš เจ—เจฒเจคเฉ€: 8 เจธเจŸเฉˆเจ• เจŸเจฐเฉ‡เจธ: #0 test.php(11): test('foo', Object(SensitiveParameterValue), 'baz') #1 {main} test.php เจตเจฟเฉฑเจš เจธเฉเฉฑเจŸเจฟเจ† เจ—เจฟเจ† เจฒเจพเจˆเจจ 8 'เจคเฉ‡
  • "${var}" เจ…เจคเฉ‡ ${(var)} เจธเจฎเฉ€เจ•เจฐเจจเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจฎเฉเฉฑเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจธเจคเจฐ เจตเจฟเฉฑเจš เจฌเจฆเจฒเจฃ เจฆเฉ€ เจฏเฉ‹เจ—เจคเจพ เจจเฉ‚เฉฐ เจฌเจฐเจคเจฐเจซเจผ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ เจตเจฐเจคเฉ‡ เจœเจพเจฃ เจตเจพเจฒเฉ‡ "{$var}" เจ…เจคเฉ‡ "$var" เจฌเจฆเจฒเจพเจ‚ เจฒเจˆ เจธเจฎเจฐเจฅเจจ เจฌเจฐเจ•เจฐเจพเจฐ เจฐเฉฑเจ–เจฟเจ† เจ—เจฟเจ† เจนเฉˆเฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ: "เจนเฉˆเจฒเฉ‹ {$world}"; เจ เฉ€เจ• เจนเฉˆ "เจนเฉˆเจฒเฉ‹ $world"; เจ เฉ€เจ• เจนเฉˆ "เจนเฉˆเจฒเฉ‹ ${world}"; เจจเจพเจชเจธเฉฐเจฆ: เจธเจคเจฐ เจตเจฟเฉฑเจš ${} เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจฌเจฐเจคเจฐเจซเจผ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆ
  • เจจเจพเจชเจธเฉฐเจฆ เจ…เฉฐเจธเจผเจ• เจคเฉŒเจฐ 'เจคเฉ‡ เจธเจฎเจฐเจฅเจฟเจค เจ•เจพเจฒเฉ‡เจฌเจฒ เจœเจฟเจจเฉเจนเจพเจ‚ เจจเฉ‚เฉฐ "call_user_func($callable)" เจฐเจพเจนเฉ€เจ‚ เจ•เจพเจฒ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ เจชเจฐ "$callable()": "self::method" "parent::method" "static" ::method เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจ•เจพเจฒเจฟเฉฐเจ— เจฆเจพ เจธเจฎเจฐเจฅเจจ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเฉ‡เฅค " ["เจธเจตเฉˆ", "เจตเจฟเจงเฉ€"] ["เจฎเจพเจคเจพ", "เจตเจฟเจงเฉ€"] ["เจธเจฅเจฟเจฐ", "เจตเจฟเจงเฉ€"] ["เจซเฉ‚", "เจฌเจพเจฐ:: เจตเจฟเจงเฉ€"] [เจจเจตเจพเจ‚ เจซเฉ‚, "เจฌเจพเจฐ:: เจตเจฟเจงเฉ€" ]
  • เจฒเฉ‹เจ•เฉ‡เจฒ-เจธเฉเจคเฉฐเจคเจฐ เจ•เฉ‡เจธ เจชเจฐเจฟเจตเจฐเจคเจจ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพเฅค strtolower() เจ…เจคเฉ‡ strtoupper() เจตเจฐเจ—เฉ‡ เจซเฉฐเจ•เจธเจผเจจ เจนเฉเจฃ เจนเจฎเฉ‡เจธเจผเจพ ASCII เจฐเฉ‡เจ‚เจœ เจตเจฟเฉฑเจš เจ…เฉฑเจ–เจฐเจพเจ‚ เจฆเฉ‡ เจ•เฉ‡เจธ เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฆเฉ‡ เจนเจจ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ "C" เจฒเฉ‹เจ•เฉ‡เจฒ เจตเจฟเฉฑเจš เจธเฉˆเฉฑเจŸ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค

เจธเจฐเฉ‹เจค: opennet.ru

DDoS เจธเฉเจฐเฉฑเจ–เจฟเจ†, VPS VDS เจธเจฐเจตเจฐเจพเจ‚ เจตเจพเจฒเฉ€เจ†เจ‚ เจธเจพเจˆเจŸเจพเจ‚ เจฒเจˆ เจญเจฐเฉ‹เจธเฉ‡เจฏเฉ‹เจ— เจนเฉ‹เจธเจŸเจฟเฉฐเจ— เจ–เจฐเฉ€เจฆเฉ‹ ๐Ÿ”ฅ DDoS เจธเฉเจฐเฉฑเจ–เจฟเจ†, VPS VDS เจธเจฐเจตเจฐเจพเจ‚ เจจเจพเจฒ เจญเจฐเฉ‹เจธเฉ‡เจฏเฉ‹เจ— เจตเฉˆเฉฑเจฌเจธเจพเจˆเจŸ เจนเฉ‹เจธเจŸเจฟเฉฐเจ— เจ–เจฐเฉ€เจฆเฉ‹ | ProHoster