เจœเจผเจฌเฉ‚เจฐ 3.12 เจฆเฉ€ เจฐเจฟเจฒเฉ€เจœเจผ, PHP เจญเจพเจธเจผเจพ เจฒเจˆ เจ‡เฉฑเจ• เจธเจฅเจฟเจฐ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจ•เฅค PHP 8.0 เจฆเจพ เจ…เจฒเจซเจผเจพ เจฐเฉ€เจฒเฉ€เจœเจผ

Vimeo เจ•เฉฐเจชเจจเฉ€ เจชเฉเจฐเจ•เจพเจธเจผเจค เจธเจŸเฉˆเจŸเจฟเจ• เจเจจเจพเจฒเจพเจˆเจœเจผเจฐ เจฆเฉ€ เจจเจตเฉ€เจ‚ เจฐเฉ€เจฒเฉ€เจœเจผ เจœเจผเจฌเฉ‚เจฐ 3.12, เจœเฉ‹ เจคเฉเจนเจพเจจเฉ‚เฉฐ PHP เจ•เฉ‹เจก เจตเจฟเฉฑเจš เจธเจชเฉฑเจธเจผเจŸ เจ…เจคเฉ‡ เจธเฉ‚เจ–เจฎ เจฆเฉ‹เจตเฉ‡เจ‚ เจคเจฐเฉเฉฑเจŸเฉ€เจ†เจ‚ เจฆเฉ€ เจชเจ›เจพเจฃ เจ•เจฐเจจ เจฆเฉ‡ เจจเจพเจฒ-เจจเจพเจฒ เจ•เฉเจ เจ•เจฟเจธเจฎเจพเจ‚ เจฆเฉ€เจ†เจ‚ เจ—เจฒเจคเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจ†เจชเจฃเฉ‡ เจ†เจช เจ เฉ€เจ• เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค เจธเจฟเจธเจŸเจฎ เจชเฉเจฐเจพเจคเจจ เจ•เฉ‹เจก เจ…เจคเฉ‡ เจ•เฉ‹เจก เจตเจฟเฉฑเจš เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจฆเฉ€ เจชเจ›เจพเจฃ เจ•เจฐเจจ เจฒเจˆ เจขเฉเจ•เจตเจพเจ‚ เจนเฉˆ เจœเฉ‹ PHP เจฆเฉ€เจ†เจ‚ เจจเจตเฉ€เจ†เจ‚ เจธเจผเจพเจ–เจพเจตเจพเจ‚ เจตเจฟเฉฑเจš เจชเฉ‡เจธเจผ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจ—เจˆเจ†เจ‚ เจ†เจงเฉเจจเจฟเจ• เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจ•เฉ‹เจก PHP เจตเจฟเฉฑเจš เจฒเจฟเจ–เจฟเจ† เจ—เจฟเจ† เจนเฉˆ เจ…เจคเฉ‡ เจฆเฉเจ†เจฐเจพ เจตเฉฐเจกเจฟเจ† MIT เจฒเจพเจ‡เจธเฉฐเจธ เจฆเฉ‡ เจคเจนเจฟเจค.

เจœเจผเจฌเฉ‚เจฐ เจ—เจฒเจค เจ•เจฟเจธเจฎ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจจเจพเจฒ เจœเฉเฉœเฉ€เจ†เจ‚ เจœเจผเจฟเจ†เจฆเจพเจคเจฐ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจฆเฉ€ เจชเจ›เจพเจฃ เจ•เจฐเจฆเจพ เจนเฉˆ, เจจเจพเจฒ เจนเฉ€ เจตเฉฑเจ–-เจตเฉฑเจ– เจ†เจฎ เจ—เจฒเจคเฉ€เจ†เจ‚. เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ‡เจน เจธเจฎเฉ€เจ•เจฐเจจ เจตเจฟเฉฑเจš เจตเฉฑเจ–-เจตเฉฑเจ– เจ•เจฟเจธเจฎเจพเจ‚ เจฆเฉ‡ เจตเฉ‡เจฐเฉ€เจเจฌเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจฎเจฟเจฒเจพเจ‰เจฃ เจฌเจพเจฐเฉ‡ เจšเฉ‡เจคเจพเจตเจจเฉ€เจ†เจ‚ เจฆเจพ เจธเจฎเจฐเจฅเจจ เจ•เจฐเจฆเจพ เจนเฉˆ, เจ—เจฒเจค เจฒเจพเจœเจผเฉ€เจ•เจฒ เจŸเฉˆเจธเจŸเจพเจ‚ (เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ โ€œif ($a && $a) {}โ€, โ€œif ($a && !$a) {}โ€ เจ…เจคเฉ‡ โ€œ if ($a) {} elseif ($a) {}"), เจตเจธเจคเฉ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจฆเฉ€ เจ…เจงเฉ‚เจฐเฉ€ เจธเจผเฉเจฐเฉ‚เจ†เจคเฅค เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจ• เจฎเจฒเจŸเฉ€-เจฅเฉเจฐเฉˆเจกเจก เจฎเฉ‹เจก เจตเจฟเฉฑเจš เจšเฉฑเจฒเจฆเจพ เจนเฉˆเฅค เจตเจพเจงเฉ‡ เจตเจพเจฒเฉ‡ เจธเจ•เฉˆเจจ เจ•เจฐเจจเจพ เจธเฉฐเจญเจต เจนเฉˆ, เจœเฉ‹ เจธเจฟเจฐเจซ เจ‰เจนเจจเจพเจ‚ เจซเจพเจˆเจฒเจพเจ‚ เจฆเจพ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจ•เจฐเจฆเจพ เจนเฉˆ เจœเฉ‹ เจ†เจ–เจฐเฉ€ เจธเจ•เฉˆเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจฌเจฆเจฒเฉ€เจ†เจ‚ เจนเจจเฅค

เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจ†เจ—เจฟเจ† เจฆเฉ‡เจฃ เจฒเจˆ เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจŸเฉ‚เจฒ เจชเฉเจฐเจฆเจพเจจ เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจ เจตเจฐเจคเฉ‹เจ‚ เจซเจพเจฐเจฎเฉˆเจŸ เจตเจฟเฉฑเจš เจเจจเฉ‹เจŸเฉ‡เจธเจผเจจ เจกเฉŒเจ•เจฌเจฒเจพเจ• (โ€œ/** @var เจ•เจฟเจธเจฎ */โ€) เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจ•เจฟเจธเจฎเจพเจ‚, เจตเจพเจชเจธเฉ€ เจฎเฉเฉฑเจฒเจพเจ‚, เจซเฉฐเจ•เจธเจผเจจ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐเจพเจ‚, เจตเจธเจคเฉ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจฌเจพเจฐเฉ‡ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจจ เจฒเจˆเฅค เจ•เจฟเจธเจฎ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจฆเฉ‡ เจชเฉˆเจŸเจฐเจจเจพเจ‚ เจจเฉ‚เฉฐ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเจจเจพ เจ…เจคเฉ‡ เจ…เจธเจฐเจŸ เจธเจŸเฉ‡เจŸเจฎเฉˆเจ‚เจŸเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเจพ เจตเฉ€ เจธเจฎเจฐเจฅเจฟเจค เจนเฉˆเฅค เจ‰เจฆเจพเจนเจฐเจฃ เจฒเจˆ:

/** @var เจธเจคเจฐ|null*/
$a = foo();

/** @var เจธเจคเจฐ $a */
echo strpos($a, 'hello');

/** @psalm-asssert-if-true B$a */
เจซเฉฐเจ•เจธเจผเจจ isValidB(A $a): bool {
B && $a->isValid();
}

เจฒเฉฑเจญเฉ€เจ†เจ‚ เจ—เจˆเจ†เจ‚ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจฆเฉ‡ เจ–เจพเจคเจฎเฉ‡ เจจเฉ‚เฉฐ เจธเจตเฉˆเจšเจพเจฒเจค เจ•เจฐเจจ เจฒเจˆ, Psalter เจ‰เจชเจฏเฉ‹เจ—เจคเจพ เจชเฉเจฐเจฆเจพเจจ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆ, เจœเฉ‹ เจชเจฒเฉฑเจ—เจ‡เจจเจพเจ‚ เจฆเจพ เจธเจฎเจฐเจฅเจจ เจ•เจฐเจฆเฉ€ เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจน เจธเจนเจพเจ‡เจ• เจนเฉˆ เจ†เจฎ เจ•เฉ‹เจก เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจฆเจพ เจจเจฟเจชเจŸเจพเจฐเจพ เจ•เจฐเฉ‹, เจŸเจพเจˆเจช เจเจจเฉ‹เจŸเฉ‡เจธเจผเจจ เจœเฉ‹เฉœเฉ‹, เจ…เจคเฉ‡ เจนเฉ‡เจฐเจพเจซเฉ‡เจฐเฉ€ เจ•เจฐเฉ‹ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ•เจฒเจพเจธเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจจเฉ‡เจฎเจธเจชเฉ‡เจธ เจคเฉ‹เจ‚ เจฆเฉ‚เจœเฉ‡ เจตเจฟเฉฑเจš เจฒเจฟเจœเจพเจฃเจพ, เจ•เจฒเจพเจธเจพเจ‚ เจตเจฟเจšเจ•เจพเจฐ เจขเฉฐเจ—เจพเจ‚ เจจเฉ‚เฉฐ เจฎเฉ‚เจต เจ•เจฐเจจเจพ, เจ…เจคเฉ‡ เจ•เจฒเจพเจธเจพเจ‚ เจ…เจคเฉ‡ เจคเจฐเฉ€เจ•เจฟเจ†เจ‚ เจฆเจพ เจจเจพเจฎ เจฌเจฆเจฒเจฃเจพเฅค

เจœเจผเจฌเฉ‚เจฐ เจฆเฉ‡ เจจเจตเฉ‡เจ‚ เจ…เฉฐเจ• เจตเจฟเฉฑเจš เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ "--taint-analysis" เจตเจฟเจ•เจฒเจช เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจคเฉ‹เจ‚ เจชเฉเจฐเจพเจชเจค เจ‡เจจเจชเฉเจŸ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐเจพเจ‚ (เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, $_GET['name']) เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจธเจฅเจพเจจเจพเจ‚ เจตเจฟเฉฑเจš เจ‰เจนเจจเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจฆเฉ‡ เจตเจฟเจšเจ•เจพเจฐ เจธเจฌเฉฐเจง เจจเฉ‚เฉฐ เจŸเจฐเฉ‡เจธ เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ เจœเจฟเจจเฉเจนเจพเจ‚ เจฒเจˆ เจ…เฉฑเจ–เจฐ เจคเฉ‹เจ‚ เจฌเจšเจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ (เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, echo" $เจจเจพเจฎ "), เจœเจฟเจธ เจตเจฟเฉฑเจš เจ‡เฉฐเจŸเจฐเจฎเฉ€เจกเฉ€เจเจŸ เจ…เจธเจพเจˆเจจเจฎเฉˆเจ‚เจŸเจธ เจ…เจคเฉ‡ เจซเฉฐเจ•เจธเจผเจจ เจ•เจพเจฒเจพเจ‚ เจฆเฉ€ เจŸเจฐเฉˆเจ•เจฟเฉฐเจ— เจšเฉ‡เจจ เจธเจผเจพเจฎเจฒ เจนเฉˆเฅค เจธเจนเจฟเจฏเฉ‹เจ—เฉ€ เจเจฐเฉ‡ $_GET, $_POST เจ…เจคเฉ‡ $_COOKIE เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจจเฉ‚เฉฐ เจธเฉฐเจญเจพเจตเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡ เจ–เจผเจคเจฐเจจเจพเจ• เจกเฉ‡เจŸเจพ เจฆเฉ‡ เจธเจฐเฉ‹เจค เจตเจœเฉ‹เจ‚ เจฎเฉฐเจจเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจชเจฐ เจ‡เจน เจธเฉฐเจญเจต เจตเฉ€ เจนเฉˆเฅค เจชเจฐเจฟเจญเจพเจธเจผเจพ เจ†เจชเจฃเฉ‡ เจธเจฐเฉ‹เจค. เจ•เจฟเจฐเจฟเจ†เจตเจพเจ‚ เจœเจฟเจจเฉเจนเจพเจ‚ เจจเฉ‚เฉฐ เจฌเจšเจฃ เจฒเจˆ เจŸเจฐเฉˆเจ•เจฟเฉฐเจ— เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ, เจ‰เจนเจจเจพเจ‚ เจตเจฟเฉฑเจš เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจ“เจชเจฐเฉ‡เจธเจผเจจ เจธเจผเจพเจฎเจฒ เจนเฉเฉฐเจฆเฉ‡ เจนเจจ เจœเฉ‹ HTML เจธเจฎเฉฑเจ—เจฐเฉ€ เจคเจฟเจ†เจฐ เจ•เจฐเจฆเฉ‡ เจนเจจ, HTTP เจธเจฟเจฐเจฒเฉ‡เจ– เจœเฉ‹เฉœเจฆเฉ‡ เจนเจจ, เจœเจพเจ‚ SQL เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ›เจพเจ‚ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจฆเฉ‡ เจนเจจเฅค

เจˆเจ•เฉ‹, เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจธเจผเจจ, เจ‡เจจเจ•เจฒเฉ‹ เจ…เจคเฉ‡ เจนเฉˆเจกเจฐ เจตเจฐเจ—เฉ‡ เจซเฉฐเจ•เจธเจผเจจเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚ เจชเฉเจฐเจฎเจพเจฃเจฟเจ•เจคเจพ เจตเจฐเจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆเฅค เจฌเจšเจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจฆเจพ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚, เจกเจพเจŸเจพ เจ•เจฟเจธเจฎเจพเจ‚ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจŸเฉˆเจ•เจธเจŸ, SQL, HTML เจ…เจคเฉ‡ เจธเจผเฉˆเฉฑเจฒ เจ•เฉ‹เจก เจตเจพเจฒเฉ€เจ†เจ‚ เจธเจคเจฐ, เจชเฉเจฐเจฎเจพเจฃเฉ€เจ•เจฐเจจ เจฎเจพเจชเจฆเฉฐเจกเจพเจ‚ เจตเจพเจฒเฉ€เจ†เจ‚ เจธเจคเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจงเจฟเจ†เจจ เจตเจฟเฉฑเจš เจฐเฉฑเจ–เจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจชเฉเจฐเจธเจคเจพเจตเจฟเจค เจฎเฉ‹เจก เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เฉ‹เจก เจตเจฟเฉฑเจš เจ•เจฎเจœเจผเฉ‹เจฐเฉ€เจ†เจ‚ เจฆเฉ€ เจชเจ›เจพเจฃ เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ เจœเฉ‹ เจ•เฉเจฐเจพเจธ-เจธเจพเจˆเจŸ เจธเจ•เฉเจฐเจฟเจชเจŸเจฟเฉฐเจ— (XSS) เจœเจพเจ‚ SQL เจฌเจฆเจฒ เจฆเฉ€ เจ…เจ—เจตเจพเจˆ เจ•เจฐเจฆเฉ‡ เจนเจจเฅค

เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจ‡เจน เจจเฉ‹เจŸ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ เจธเจผเฉเจฐเฉ‚เจ†เจค เจจเจตเฉ€เจ‚ PHP 8.0 เจธเจผเจพเจ–เจพ เจฆเฉ€ เจ…เจฒเจซเจผเจพ เจŸเฉˆเจธเจŸเจฟเฉฐเจ—เฅค เจฐเจฟเจฒเฉ€เจœเจผ 26 เจจเจตเฉฐเจฌเจฐ เจจเฉ‚เฉฐ เจนเฉ‹เจฃ เจตเจพเจฒเฉ€ เจนเฉˆเฅค เจจเจตเฉ€เจ‚ เจธเจผเจพเจ–เจพ เจตเจฟเฉฑเจš เจนเฉ‡เจ  เจฒเจฟเจ–เฉ‡ เจฆเฉ€ เจ‰เจฎเฉ€เจฆ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ: เจจเจตเฉ€เจจเจคเจพเจตเจพเจ‚เจชเจธเฉฐเจฆ:

  • เจชเจพเจตเจฐ เจ…เจช เจœเฉ‡เจ†เจˆเจŸเฉ€ เจ•เฉฐเจชเจพเจˆเจฒเจฐ, เจœเจฟเจธ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ‰เจคเจชเจพเจฆเจ•เจคเจพ เจตเจฟเฉฑเจš เจธเฉเจงเจพเจฐ เจ•เจฐเฉ‡เจ—เฉ€เฅค
  • เจธเจชเฉ‹เจฐเจŸ เจฏเฉ‚เจจเฉ€เจ…เจจ เจ•เจฟเจธเจฎ, เจฆเฉ‹ เจœเจพเจ‚ เจฆเฉ‹ เจคเฉ‹เจ‚ เจตเฉฑเจง เจ•เจฟเจธเจฎเจพเจ‚ เจฆเฉ‡ เจธเฉฐเจ—เฉเจฐเจนเจฟ เจจเฉ‚เฉฐ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเจจเจพ (เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, โ€œเจชเจฌเจฒเจฟเจ• เจซเฉฐเจ•เจธเจผเจจ foo(Foo|Bar $input): int|float;โ€)เฅค
  • เจธเจชเฉ‹เจฐเจŸ เจ—เฉเจฃ (เจเจจเฉ‹เจŸเฉ‡เจธเจผเจจ) เจœเฉ‹ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฎเฉˆเจŸเจพเจกเฉ‡เจŸเจพ (เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ•เจฟเจธเจฎ เจฆเฉ€ เจœเจพเจฃเจ•เจพเจฐเฉ€) เจจเฉ‚เฉฐ Docblock เจธเฉฐเจŸเฉˆเจ•เจธ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เฉ€เจคเฉ‡ เจฌเจฟเจจเจพเจ‚ เจ•เจฒเจพเจธเจพเจ‚ เจจเจพเจฒ เจœเฉ‹เฉœเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเฉ‡ เจนเจจเฅค
  • เจ›เฉ‹เจŸเจพ เจธเฉฐเจŸเฉˆเจ•เจธ เจ•เจฒเจพเจธ เจชเจฐเจฟเจญเจพเจธเจผเจพเจตเจพเจ‚, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เฉฐเจธเจŸเจฐเจ•เจŸเจฐ เจ…เจคเฉ‡ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจฆเฉ€ เจชเจฐเจฟเจญเจพเจธเจผเจพ เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจจ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเฉ€เจ†เจ‚ เจนเจจเฅค
  • เจจเจตเฉ€เจ‚ เจตเจพเจชเจธเฉ€ เจ•เจฟเจธเจฎ - เจธเจฅเจฟเจฐ.
  • เจจเจตเฉ€เจ‚ เจ•เจฟเจธเจฎ - เจฎเจฟเจ•เจธเจก, เจœเจฟเจธเจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ‡เจน เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจ เจฒเจˆ เจ•เฉ€เจคเฉ€ เจœเจพ เจธเจ•เจฆเฉ€ เจนเฉˆ เจ•เจฟ เจ•เฉ€ เจ•เฉ‹เจˆ เจซเฉฐเจ•เจธเจผเจจ เจตเฉฑเจ–-เจตเฉฑเจ– เจ•เจฟเจธเจฎเจพเจ‚ เจฆเฉ‡ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจธเจตเฉ€เจ•เจพเจฐ เจ•เจฐเจฆเจพ เจนเฉˆเฅค
  • เจธเจฎเฉ€เจ•เจฐเจจ เจธเฉเฉฑเจŸ เจ…เจชเจตเจพเจฆ เจจเฉ‚เฉฐ เจธเฉฐเจญเจพเจฒเจฃ เจฒเจˆ.
  • เจ•เจฎเจœเจผเฉ‹เจฐ เจจเจ•เจธเจผเจพ เจตเจธเจคเฉ‚เจ†เจ‚ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจœเฉ‹ เจ•เฉ‚เฉœเจพ เจ‡เจ•เฉฑเจ เจพ เจ•เจฐเจจ เจฆเฉŒเจฐเจพเจจ เจ•เฉเจฐเจฌเจพเจจ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจœเจพ เจธเจ•เจฆเฉ€เจ†เจ‚ เจนเจจ (เจ‰เจฆเจพเจนเจฐเจฃ เจตเจœเฉ‹เจ‚, เจฌเฉ‡เจฒเฉ‹เฉœเฉ‡ เจ•เฉˆเจšเจพเจ‚ เจจเฉ‚เฉฐ เจธเจŸเฉ‹เจฐ เจ•เจฐเจจ เจฒเจˆ)เฅค
  • เจฎเฉŒเจ•เจพ เจตเจธเจคเฉ‚เจ†เจ‚ เจฒเจˆ เจธเจฎเฉ€เจ•เจฐเจจ "::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

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