PHP 8.2 เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจญเจพเจธเจผเจพ เจฆเฉ€ เจฐเจฟเจฒเฉ€เจœเจผ

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

PHP 8.2 เจตเจฟเฉฑเจš เจฎเฉเฉฑเจ– เจธเฉเจงเจพเจฐ:

  • เจ‡เฉฑเจ• เจ•เจฒเจพเจธ เจจเฉ‚เฉฐ เจธเจฟเจฐเจซเจผ-เจชเฉœเฉเจนเจจ เจฒเจˆ เจšเจฟเฉฐเจจเฉเจนเจฟเจค เจ•เจฐเจจ เจฆเฉ€ เจฏเฉ‹เจ—เจคเจพ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ€ เจ—เจˆเฅค เจ…เจœเจฟเจนเฉ€เจ†เจ‚ เจ•เจฒเจพเจธเจพเจ‚ เจตเจฟเฉฑเจš เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพ เจธเจฟเจฐเจซเจผ เจ‡เฉฑเจ• เจตเจพเจฐ เจธเฉˆเฉฑเจŸ เจ•เฉ€เจคเฉ€ เจœเจพ เจธเจ•เจฆเฉ€ เจนเฉˆ, เจœเจฟเจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฟเจ† เจจเจนเฉ€เจ‚ เจœเจพ เจธเจ•เจฆเจพเฅค เจชเจนเจฟเจฒเจพเจ‚, เจตเจฟเจ…เจ•เจคเฉ€เจ—เจค เจ•เจฒเจพเจธ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจธเจฟเจฐเจซเจผ-เจชเฉœเฉเจนเจจ เจฒเจˆ เจšเจฟเฉฐเจจเฉเจนเจฟเจค เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจธเฉ€, เจชเจฐ เจนเฉเจฃ เจคเฉเจธเฉ€เจ‚ เจ‡เฉฑเจ• เจตเจพเจฐ เจตเจฟเฉฑเจš เจธเจพเจฐเฉ€เจ†เจ‚ เจ•เจฒเจพเจธ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจฒเจˆ เจ‡เจธ เจฎเฉ‹เจก เจจเฉ‚เฉฐ เจธเจฎเจฐเฉฑเจฅ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค เจ•เจฒเจพเจธ เจชเฉฑเจงเจฐ 'เจคเฉ‡ "เจชเฉœเฉเจนเจจ เจฒเจˆ เจธเจฟเจฐเจซเจผ" เจซเจฒเฉˆเจ— เจจเฉ‚เฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจเจพ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพ เจจเฉ‚เฉฐ เจ•เจฒเจพเจธ เจตเจฟเฉฑเจš เจ—เจคเฉ€เจธเจผเฉ€เจฒ เจคเฉŒเจฐ 'เจคเฉ‡ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ‡ เจœเจพเจฃ เจคเฉ‹เจ‚ เจตเฉ€ เจฐเฉ‹เจ•เจฆเจพ เจนเฉˆเฅค เจฐเฉ€เจกเจ“เจจเจฒเฉ€ เจ•เจฒเจพเจธ เจชเฉ‹เจธเจŸ { เจชเจฌเจฒเจฟเจ• เจซเฉฐเจ•เจธเจผเจจ __ เจ•เฉฐเจธเจŸเจฐเฉฑเจ•เจŸ ( เจœเจจเจคเจ• เจธเจคเจฐ $ เจธเจฟเจฐเจฒเฉ‡เจ–, เจœเจจเจคเจ• เจฒเฉ‡เจ–เจ• $ เจฒเฉ‡เจ–เจ•, ) {} } $ เจชเฉ‹เจธเจŸ = เจจเจตเฉ€เจ‚ เจชเฉ‹เจธเจŸ(/* โ€ฆ */); $post->เจ…เจฃเจœเจพเจฃ = 'เจ—เจฒเจค'; // เจคเจฐเฉเฉฑเจŸเฉ€: เจกเจพเจ‡เจจเจพเจฎเจฟเจ• เจธเฉฐเจชเฉฑเจคเฉ€ เจจเจนเฉ€เจ‚ เจฌเจฃเจพเจˆ เจœเจพ เจธเจ•เจฆเฉ€ เจชเฉ‹เจธเจŸ::$เจ…เจฃเจœเจพเจฃ
  • "เจธเฉฑเจš", "เจ—เจฒเจค" เจ…เจคเฉ‡ "เจจเจฒ" เจฆเฉ€เจ†เจ‚ เจตเฉฑเจ–เจฐเฉ€เจ†เจ‚ เจ•เจฟเจธเจฎเจพเจ‚ เจœเฉ‹เฉœเฉ€เจ†เจ‚ เจ—เจˆเจ†เจ‚, เจœเฉ‹ เจธเจฟเจฐเจซเจผ เจ‡เฉฑเจ• เจตเฉˆเจง เจฎเฉเฉฑเจฒ เจฒเฉˆ เจธเจ•เจฆเฉ€เจ†เจ‚ เจนเจจ เจ…เจคเฉ‡ เจตเจฐเจคเฉ€เจ†เจ‚ เจœเจพเจ‚เจฆเฉ€เจ†เจ‚ เจนเจจ, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ‡เฉฑเจ• เจ—เจฒเจคเฉ€ เจธเจฎเจพเจชเจคเฉ€ เจซเจฒเฉˆเจ— เจœเจพเจ‚ เจ‡เฉฑเจ• เจ–เจพเจฒเฉ€ เจฎเฉเฉฑเจฒ เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• เจซเฉฐเจ•เจธเจผเจจ เจตเจพเจชเจธ เจ•เจฐเจจ เจฒเจˆเฅค เจชเจนเจฟเจฒเจพเจ‚, โ€œเจธเฉฑเจšโ€, โ€œเจ—เจฒเจคโ€ เจ…เจคเฉ‡ โ€œเจจเฉฑเจฒโ€ เจจเฉ‚เฉฐ เจธเจฟเจฐเจซเจผ เจนเฉ‹เจฐ เจ•เจฟเจธเจฎเจพเจ‚ (เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, โ€œเจธเจŸเฉเจฐเจฟเฉฐเจ—|เจ—เจฒเจคโ€) เจจเจพเจฒ เจœเฉ‹เฉœ เจ•เฉ‡ เจตเจฐเจคเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจธเฉ€, เจชเจฐ เจนเฉเจฃ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจตเฉฑเจ–เจฐเฉ‡ เจคเฉŒเจฐ 'เจคเฉ‡ เจตเจฐเจคเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ: เจซเฉฐเจ•เจธเจผเจจ เจนเจฎเฉ‡เจธเจผเจพ เจ—เจฒเจค(): false { return false ; }
  • เจ‡เฉฑเจ• เจ—เจฒเจคเฉ€ เจฆเฉ‡ เจฆเฉŒเจฐเจพเจจ เจธเจŸเฉˆเจ• เจŸเจฐเฉ‡เจธ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจตเจฟเฉฑเจš เจธเฉฐเจตเฉ‡เจฆเจจเจธเจผเฉ€เจฒ เจฎเจพเจชเจฆเฉฐเจกเจพเจ‚ เจจเฉ‚เฉฐ เจซเจฟเจฒเจŸเจฐ เจ•เจฐเจจ เจฆเฉ€ เจธเจฎเจฐเฉฑเจฅเจพ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจ•เฉเจ เจ–เจพเจธ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจจเฉ‚เฉฐ เจ•เฉฑเจŸเจฃเจพ เจœเจผเจฐเฉ‚เจฐเฉ€ เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ เจœเจฆเฉ‹เจ‚ เจตเจพเจชเจฐเจจ เจตเจพเจฒเฉ€เจ†เจ‚ เจ—เจฒเจคเฉ€เจ†เจ‚ เจฌเจพเจฐเฉ‡ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจ†เจชเจฃเฉ‡ เจ†เจช เจคเฉ€เจœเฉ€-เจงเจฟเจฐ เจฆเฉ€เจ†เจ‚ เจธเฉ‡เจตเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจญเฉ‡เจœเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ เจœเฉ‹ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจจเฉ‚เฉฐ เจŸเจฐเฉˆเจ• เจ•เจฐเจฆเฉ€เจ†เจ‚ เจนเจจ เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจฌเจพเจฐเฉ‡ เจกเจฟเจตเฉˆเจฒเจชเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจธเฉ‚เจšเจฟเจค เจ•เจฐเจฆเฉ€เจ†เจ‚ เจนเจจเฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจคเฉเจธเฉ€เจ‚ เจ‰เจนเจจเจพเจ‚ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจฌเจพเจนเจฐ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจœเจฟเจธ เจตเจฟเฉฑเจš เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจจเจพเจฎ, เจชเจพเจธเจตเจฐเจก เจ…เจคเฉ‡ เจตเจพเจคเจพเจตเจฐเจฃ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจจเฉ‚เฉฐ เจŸเจฐเฉ‡เจธเจฟเฉฐเจ— เจคเฉ‹เจ‚ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจซเฉฐเจ•เจธเจผเจจ เจŸเฉˆเจธเจŸ ($foo, #[\SensitiveParameter] $password, $baz ) { เจฅเฉเจฐเฉ‹ เจจเจฟเจŠ เจ…เจชเจตเจพเจฆ('Error'); } เจŸเฉˆเจธเจŸ ('foo', 'เจชเจพเจธเจตเจฐเจก', 'baz'); เจ˜เจพเจคเจ• เจ—เจฒเจคเฉ€: เจ…เจฃเจชเจ›เจพเจคเฉ€ เจ…เจชเจตเจพเจฆ: test.php เจตเจฟเฉฑเจš เจ—เจฒเจคเฉ€: 8 เจธเจŸเฉˆเจ• เจŸเจฐเฉ‡เจธ: #0 test.php(11): test('foo', Object(SensitiveParameterValue), 'baz') #1 {main} test.php เจตเจฟเฉฑเจš เจธเฉเฉฑเจŸเจฟเจ† เจ—เจฟเจ† เจฒเจพเจˆเจจ 8 'เจคเฉ‡
  • เจ—เฉเจฃเจพเจ‚ เจตเจฟเฉฑเจš เจธเจฅเจฟเจฐเจพเจ‚เจ• เจจเฉ‚เฉฐ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฑเจคเฉ€ เจ—เจˆ เจนเฉˆ (เจ—เฉเจฃ, เจ•เฉ‹เจก เจฆเฉ€ เจฎเฉเฉœ เจตเจฐเจคเฉ‹เจ‚ เจฒเจˆ เจ‡เฉฑเจ• เจตเจฟเจงเฉ€)เฅค เจ‡เฉฑเจ• เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพ เจตเจฟเฉฑเจš เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจธเจฅเจฟเจฐเจพเจ‚เจ• เจจเฉ‚เฉฐ เจ‰เจธ เจธเจผเฉเจฐเฉ‡เจฃเฉ€ เจฆเฉเจ†เจฐเจพ เจเจ•เจธเฉˆเจธ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ เจœเฉ‹ เจ—เฉเจฃ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเจพ เจนเฉˆ (เจชเจฐ เจ—เฉเจฃ เจจเจพเจฎ เจฆเฉเจ†เจฐเจพ เจจเจนเฉ€เจ‚)เฅค เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพ เจซเฉ‚ { เจœเจจเจคเจ• const CONSTANT = 1; เจชเจฌเจฒเจฟเจ• เจซเฉฐเจ•เจธเจผเจจ เจฌเจพเจฐ(): int { return self::CONSTANT; // เจ˜เจพเจคเจ• เจ—เจฒเจคเฉ€ } } เจ•เจฒเจพเจธ เจฌเจพเจฐ { Foo เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเฉ‹; } var_dump(เจฌเจพเจฐ::CONSTANT); // 1
  • เจกเจฟเจธเจœเฉฐเจ•เจŸเจฟเจต เจธเจงเจพเจฐเจฃ เจฐเฉ‚เจช (DNF, เจกเจฟเจธเจœเฉฐเจ•เจŸเจฟเจต เจธเจงเจพเจฐเจฃ เจฐเฉ‚เจช) เจตเจฟเฉฑเจš เจ•เจฟเจธเจฎเจพเจ‚ เจจเฉ‚เฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจ เจฆเฉ€ เจฏเฉ‹เจ—เจคเจพ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆ, เจœเฉ‹ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เจฟเจธเจฎเจพเจ‚ เจฆเฉ‡ เจธเฉฐเจ˜ (เจฆเฉ‹ เจœเจพเจ‚ เจฆเฉ‹ เจคเฉ‹เจ‚ เจตเฉฑเจง เจ•เจฟเจธเจฎเจพเจ‚ เจฆเฉ‡ เจธเฉฐเจ—เฉเจฐเจนเจฟ) เจ…เจคเฉ‡ เจ•เจฟเจธเจฎเจพเจ‚ เจฆเฉ‡ เจ‡เฉฐเจŸเจฐเจธเฉˆเจ•เจธเจผเจจ (เจ•เจฟเจธเจฎเจพเจ‚ เจœเจฟเจจเฉเจนเจพเจ‚ เจฆเฉ‡ เจฎเฉเฉฑเจฒ เจ•เจˆ เจ…เจงเฉ€เจจ เจ†เจ‰เจ‚เจฆเฉ‡ เจนเจจ) เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ เจ‡เฉฑเจ•เฉ‹ เจธเจฎเฉ‡เจ‚ เจฆเฉ€เจ†เจ‚ เจ•เจฟเจธเจฎเจพเจ‚)เฅค เจ•เจฒเจพเจธ Foo { เจชเจฌเจฒเจฟเจ• เจซเฉฐเจ•เจธเจผเจจ เจฌเจพเจฐ((A&B)|null $entity) { if ($entity === null) { return null; } เจตเจพเจชเจธ $entity; } }
  • เจธเฉ‚เจกเฉ‹-เจฐเฉˆเจ‚เจกเจฎ เจจเฉฐเจฌเจฐเจพเจ‚ เจ…เจคเฉ‡ เจ•เฉเจฐเจฎ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจซเฉฐเจ•เจธเจผเจจเจพเจ‚ เจ…เจคเฉ‡ เจ•เจฒเจพเจธเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• เจจเจตเจพเจ‚ เจเจ•เจธเจŸเฉˆเจ‚เจธเจผเจจ "เจฐเฉˆเจ‚เจกเจฎ" เจชเฉเจฐเจธเจคเจพเจตเจฟเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค เจฎเฉ‹เจกเฉ€เจŠเจฒ เจ‡เฉฑเจ• เจ†เจฌเจœเฉˆเจ•เจŸ-เจ…เจงเจพเจฐเจฟเจค เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเจพ เจนเฉˆ, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจธเฉ‚เจกเฉ‹-เจฐเฉˆเจ‚เจกเจฎ เจจเฉฐเจฌเจฐ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจตเฉฑเจ–-เจตเฉฑเจ– เจ‡เฉฐเจœเจฃเจพเจ‚ เจฆเฉ€ เจšเฉ‹เจฃ เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ, เจœเจฟเจธ เจตเจฟเฉฑเจš เจ•เฉเจฐเจฟเจชเจŸเฉ‹เจ—เฉเจฐเจพเจซเฉ€ เจตเจฟเฉฑเจš เจตเจฐเจคเฉ‹เจ‚ เจฒเจˆ เจขเฉเจ•เจตเฉ‡เจ‚ เจธเจผเจพเจฎเจฒ เจนเจจ, เจ…เจคเฉ‡ เจธเจนเจพเจ‡เจ• เจซเฉฐเจ•เจธเจผเจจ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเจพ เจนเฉˆ, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจฌเฉ‡เจคเจฐเจคเฉ€เจฌ เจขเฉฐเจ— เจจเจพเจฒ เจเจฐเฉ‡ เจ…เจคเฉ‡ เจธเจŸเฉเจฐเจฟเฉฐเจ—เจพเจ‚ เจจเฉ‚เฉฐ เจฎเจฟเจฒเจพเจ‰เจฃ เจฒเจˆ, เจฌเฉ‡เจคเจฐเจคเฉ€เจฌ เจเจฐเฉ‡ เจ•เฉเฉฐเจœเฉ€เจ†เจ‚ เจฆเฉ€ เจšเฉ‹เจฃ เจ•เจฐเจจเจพ, เจคเฉเจนเจพเจกเฉ‡ เจ†เจชเจฃเฉ‡ เจธเฉเจคเฉฐเจคเจฐ เจฐเจพเจœ เจฆเฉ‡ เจจเจพเจฒ เจ•เจˆ เจœเจจเจฐเฉ‡เจŸเจฐเจพเจ‚ เจฆเฉ€ เจ‡เฉฑเจ•เฉ‹ เจธเจฎเฉ‡เจ‚ เจตเจฐเจคเฉ‹เจ‚เฅค $rng = $is_production ? เจจเจตเจพเจ‚ เจฐเฉˆเจ‚เจกเจฎ\เจ‡เฉฐเจœเจจ\เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค(): เจจเจตเจพเจ‚ เจฐเฉˆเจ‚เจกเจฎ\เจ‡เฉฐเจœเจฃ\Mt19937(1234); $randomizer = เจจเจตเจพเจ‚ Random\Randomizer($rng); $randomizer-> shuffleString('foobar');
  • เจฒเฉ‹เจ•เฉ‡เจฒ-เจธเฉเจคเฉฐเจคเจฐ เจ•เฉ‡เจธ เจชเจฐเจฟเจตเจฐเจคเจจ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพเฅค strtolower() เจ…เจคเฉ‡ strtoupper() เจตเจฐเจ—เฉ‡ เจซเฉฐเจ•เจธเจผเจจ เจนเฉเจฃ เจนเจฎเฉ‡เจธเจผเจพ ASCII เจฐเฉ‡เจ‚เจœ เจตเจฟเฉฑเจš เจ…เฉฑเจ–เจฐเจพเจ‚ เจฆเฉ‡ เจ•เฉ‡เจธ เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฆเฉ‡ เจนเจจ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ "C" เจฒเฉ‹เจ•เฉ‡เจฒ เจตเจฟเฉฑเจš เจธเฉˆเฉฑเจŸ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค
  • เจจเจตเฉ‡เจ‚ เจซเฉฐเจ•เจธเจผเจจ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ‡ เจ—เจ: mysqli_execute_query, curl_upkeep, memory_reset_peak_usage, ini_parse_quantity, libxml_get_external_entity_loader, sodium_crypto_stream_xchacha20_xor_ic, openssl_cipher_key_length.
  • เจจเจตเฉ‡เจ‚ เจขเฉฐเจ— เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ‡ เจ—เจ: mysqli::execute_query, ZipArchive::getStreamIndex, ZipArchive::getStreamName, ZipArchive::clearError, ReflectionFunction::isAnonymous, ReflectionMethod::hasPrototypeเฅค
  • เจ‡เฉฑเจ• เจ•เจฒเจพเจธ เจตเจฟเฉฑเจš เจ—เจคเฉ€เจธเจผเฉ€เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจฌเจฃเจพเจ‰เจฃ เจฆเฉ€ เจฏเฉ‹เจ—เจคเจพ เจจเฉ‚เฉฐ เจฌเจฐเจคเจฐเจซเจผ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค PHP 9.0 เจตเจฟเฉฑเจš, เจ‰เจนเจจเจพเจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจเจ•เจธเฉˆเจธ เจ•เจฐเจจเจพ เจœเฉ‹ เจธเจผเฉเจฐเฉ‚ เจตเจฟเฉฑเจš เจ•เจฒเจพเจธ เจตเจฟเฉฑเจš เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจจเจนเฉ€เจ‚ เจนเจจ, เจ‡เฉฑเจ• เจ—เจฒเจคเฉ€ (ErrorException) เจฆเจพ เจจเจคเฉ€เจœเจพ เจนเฉ‹เจตเฉ‡เจ—เจพเฅค เจ‰เจน เจ•เจฒเจพเจธเจพเจ‚ เจœเฉ‹ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ __get เจ…เจคเฉ‡ __set เจตเจฟเจงเฉ€เจ†เจ‚ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเฉ€เจ†เจ‚ เจนเจจ, เจœเจพเจ‚ stdClass เจตเจฟเฉฑเจš เจ—เจคเฉ€เจธเจผเฉ€เจฒ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚, เจฌเจฟเจจเจพเจ‚ เจ•เจฟเจธเฉ‡ เจฌเจฆเจฒเจพเจ… เจฆเฉ‡ เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ€เจ†เจ‚ เจฐเจนเจฟเจฃเจ—เฉ€เจ†เจ‚, เจธเจฟเจฐเจซ เจ—เฉˆเจฐ-เจฎเฉŒเจœเฉ‚เจฆ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจตเจพเจฒเฉ‡ เจ…เจชเฉเจฐเจคเฉฑเจ– เจ•เฉฐเจฎ เจจเฉ‚เฉฐ เจฒเฉเจ•เจตเฉ‡เจ‚ เจฌเฉฑเจ—เจพเจ‚ เจคเฉ‹เจ‚ เจฌเจšเจพเจ‰เจฃ เจฒเจˆ เจธเจฎเจฐเจฅเจฟเจค เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพเฅค เจชเฉเจฐเจพเจฃเฉ‡ เจ•เฉ‹เจก เจฆเฉ‡ เจ•เฉฐเจฎ เจจเฉ‚เฉฐ เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจฐเฉฑเจ–เจฃ เจฒเจˆ, "#[AllowDynamicProperties]" เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพ เจชเฉเจฐเจธเจคเจพเจตเจฟเจค เจนเฉˆ, เจœเจฟเจธ เจจเจพเจฒ เจ—เจคเฉ€เจธเจผเฉ€เจฒ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เฉ€เจคเฉ€ เจœเจพ เจธเจ•เจฆเฉ€ เจนเฉˆเฅค
  • "${var}" เจ…เจคเฉ‡ ${(var)} เจธเจฎเฉ€เจ•เจฐเจจเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจฎเฉเฉฑเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจธเจคเจฐ เจตเจฟเฉฑเจš เจฌเจฆเจฒเจฃ เจฆเฉ€ เจฏเฉ‹เจ—เจคเจพ เจจเฉ‚เฉฐ เจฌเจฐเจคเจฐเจซเจผ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ เจตเจฐเจคเฉ‡ เจœเจพเจฃ เจตเจพเจฒเฉ‡ "{$var}" เจ…เจคเฉ‡ "$var" เจฌเจฆเจฒเจพเจ‚ เจฒเจˆ เจธเจฎเจฐเจฅเจจ เจฌเจฐเจ•เจฐเจพเจฐ เจฐเฉฑเจ–เจฟเจ† เจ—เจฟเจ† เจนเฉˆเฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ: "เจนเฉˆเจฒเฉ‹ {$world}"; เจ เฉ€เจ• เจนเฉˆ "เจนเฉˆเจฒเฉ‹ $world"; เจ เฉ€เจ• เจนเฉˆ "เจนเฉˆเจฒเฉ‹ ${world}"; เจจเจพเจชเจธเฉฐเจฆ: เจธเจคเจฐ เจตเจฟเฉฑเจš ${} เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจฌเจฐเจคเจฐเจซเจผ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆ
  • เจจเจพเจชเจธเฉฐเจฆ เจ…เฉฐเจธเจผเจ• เจคเฉŒเจฐ 'เจคเฉ‡ เจธเจฎเจฐเจฅเจฟเจค เจ•เจพเจฒเฉ‡เจฌเจฒ เจœเจฟเจจเฉเจนเจพเจ‚ เจจเฉ‚เฉฐ "call_user_func($callable)" เจฐเจพเจนเฉ€เจ‚ เจ•เจพเจฒ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ เจชเจฐ "$callable()": "self::method" "parent::method" "static" ::method เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจ•เจพเจฒเจฟเฉฐเจ— เจฆเจพ เจธเจฎเจฐเจฅเจจ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเฉ‡เฅค " ["เจธเจตเฉˆ", "เจตเจฟเจงเฉ€"] ["เจฎเจพเจคเจพ", "เจตเจฟเจงเฉ€"] ["เจธเจฅเจฟเจฐ", "เจตเจฟเจงเฉ€"] ["เจซเฉ‚", "เจฌเจพเจฐ:: เจตเจฟเจงเฉ€"] [เจจเจตเจพเจ‚ เจซเฉ‚, "เจฌเจพเจฐ:: เจตเจฟเจงเฉ€" ]
  • error_log_mode เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฟเจต เจจเฉ‚เฉฐ เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚ เจตเจฟเฉฑเจš เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ† เจนเฉˆ, เจœเจฟเจธ เจจเจพเจฒ เจคเฉเจธเฉ€เจ‚ เจ—เจฒเจคเฉ€ เจฒเฉŒเจ— เจตเจฟเฉฑเจš เจชเจนเฉเฉฐเจš เจฎเฉ‹เจก เจจเฉ‚เฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค

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

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