āĻāĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨ā§āĻ° āĻāĻ āĻŦāĻāĻ° āĻĒāĻ°, āĻĒāĻŋāĻāĻāĻāĻĒāĻŋ 8.2 āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻŋāĻ āĻāĻžāĻˇāĻž āĻĒā§āĻ°āĻāĻžāĻļ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤ āĻ¨āĻ¤ā§āĻ¨ āĻļāĻžāĻāĻžāĻ¯āĻŧ āĻāĻāĻžāĻ§āĻŋāĻ āĻ¨āĻ¤ā§āĻ¨ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ āĻ°āĻ¯āĻŧā§āĻā§, āĻ¸ā§āĻāĻ¸āĻžāĻĨā§ āĻ¸āĻžāĻŽāĻā§āĻāĻ¸ā§āĻ¯ āĻāĻā§āĻāĻāĻžāĻ°ā§ āĻŦā§āĻļ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ°āĻ¯āĻŧā§āĻā§āĨ¤
PHP 8.2-āĻ¤ā§ āĻŽā§āĻ˛ āĻāĻ¨ā§āĻ¨āĻ¤āĻŋ:
- āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĒāĻ āĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻāĻāĻŋ āĻā§āĻ˛āĻžāĻ¸ āĻāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻā§āĻˇāĻŽāĻ¤āĻž āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§. āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻā§āĻ˛āĻžāĻ¸ā§āĻ° āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯āĻā§āĻ˛āĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻāĻŦāĻžāĻ° āĻ¸ā§āĻ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻ¤āĻžāĻ°āĻĒāĻ°ā§ āĻ¤āĻžāĻ°āĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ˛āĻŦā§āĻ§ āĻšāĻŦā§ āĻ¨āĻžāĨ¤ āĻĒā§āĻ°ā§āĻŦā§, āĻĒā§āĻĨāĻ āĻļā§āĻ°ā§āĻŖā§āĻ° āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯āĻā§āĻ˛āĻŋāĻā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ°-āĻĒāĻ āĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻāĻ°āĻž āĻ¯ā§āĻ¤, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻ¨ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻŦāĻžāĻ°ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻļā§āĻ°ā§āĻŖā§āĻ° āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ āĻŽā§āĻĄāĻāĻŋ āĻāĻžāĻ˛ā§ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻā§āĻ˛āĻžāĻ¸ āĻ˛ā§āĻā§āĻ˛ā§ "āĻ āĻ¨āĻ˛āĻŋ" āĻĒāĻ¤āĻžāĻāĻž āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻžāĻ āĻā§āĻ˛āĻžāĻ¸ā§ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ā§āĻ° āĻāĻ¤āĻŋāĻļā§āĻ˛ āĻ¸āĻāĻ¯ā§āĻāĻ¨ āĻŦā§āĻ˛āĻ āĻāĻ°ā§āĨ¤ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĒāĻ āĻ¨āĻ¯ā§āĻā§āĻ¯ āĻļā§āĻ°ā§āĻŖā§ āĻĒā§āĻ¸ā§āĻ { āĻĒāĻžāĻŦāĻ˛āĻŋāĻ āĻĢāĻžāĻāĻļāĻ¨ __āĻāĻ¨āĻ¸ā§āĻā§āĻ°āĻžāĻāĻ( āĻĒāĻžāĻŦāĻ˛āĻŋāĻ āĻ¸ā§āĻā§āĻ°āĻŋāĻ $āĻāĻžāĻāĻā§āĻ˛, āĻĒāĻžāĻŦāĻ˛āĻŋāĻ āĻ˛ā§āĻāĻ $author, ) {} } $post = āĻ¨āĻ¤ā§āĻ¨ āĻĒā§āĻ¸ā§āĻ(/* âĻ */); $post->āĻ āĻāĻžāĻ¨āĻž = 'āĻā§āĻ˛'; // āĻ¤ā§āĻ°ā§āĻāĻŋ: āĻāĻ¤āĻŋāĻļā§āĻ˛ āĻ¸āĻŽā§āĻĒāĻ¤ā§āĻ¤āĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻ¯āĻžāĻŦā§ āĻ¨āĻž āĻĒā§āĻ¸ā§āĻ::$āĻ āĻāĻžāĻ¨āĻž
- "āĻ¸āĻ¤ā§āĻ¯", "āĻŽāĻŋāĻĨā§āĻ¯āĻž" āĻāĻŦāĻ "āĻ¨āĻžāĻ˛" āĻāĻ˛āĻžāĻĻāĻž āĻ§āĻ°āĻ¨ā§āĻ° āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻ¯āĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻāĻāĻŋ āĻŦā§āĻ§ āĻŽāĻžāĻ¨ āĻ¨āĻŋāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻāĻŦāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻāĻāĻŋ āĻ¤ā§āĻ°ā§āĻāĻŋāĻ° āĻ¸āĻŽāĻžāĻĒā§āĻ¤āĻŋ āĻĒāĻ¤āĻžāĻāĻž āĻŦāĻž āĻāĻāĻāĻŋ āĻāĻžāĻ˛āĻŋ āĻŽāĻžāĻ¨ āĻ¸āĻš āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāĻ¨ āĻĢā§āĻ°āĻ¤ āĻĻāĻŋāĻ¤ā§āĨ¤ āĻĒā§āĻ°ā§āĻŦā§, "āĻ¸āĻ¤ā§āĻ¯", "āĻŽāĻŋāĻĨā§āĻ¯āĻž" āĻāĻŦāĻ "āĻ¨āĻžāĻ˛" āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻāĻžāĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻ¤ā§āĻ°ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ (āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, "āĻ¸ā§āĻā§āĻ°āĻŋāĻ| āĻŽāĻŋāĻĨā§āĻ¯āĻž"), āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻ¨ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻāĻ˛āĻžāĻĻāĻžāĻāĻžāĻŦā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§: āĻĢāĻžāĻāĻļāĻ¨ āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻŽāĻŋāĻĨā§āĻ¯āĻž(): āĻŽāĻŋāĻĨā§āĻ¯āĻž { āĻĢā§āĻ°āĻ¤ āĻŽāĻŋāĻĨā§āĻ¯āĻž ; }
- āĻāĻāĻāĻŋ āĻ¤ā§āĻ°ā§āĻāĻŋāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¸ā§āĻā§āĻ¯āĻžāĻ āĻā§āĻ°ā§āĻ¸ āĻāĻāĻāĻĒā§āĻā§ āĻ¸āĻāĻŦā§āĻĻāĻ¨āĻļā§āĻ˛ āĻ¸ā§āĻāĻŋāĻāĻ¸ āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ° āĻāĻ°āĻžāĻ° āĻā§āĻˇāĻŽāĻ¤āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§ā§ˇ āĻāĻŋāĻā§ āĻ¤āĻĨā§āĻ¯ āĻāĻžāĻāĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¯āĻāĻ¨ āĻāĻā§ āĻ¯āĻžāĻāĻ¯āĻŧāĻž āĻ¤ā§āĻ°ā§āĻāĻŋāĻā§āĻ˛āĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻ¤āĻĨā§āĻ¯ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻ¤ā§āĻ¤ā§āĻ¯āĻŧ āĻĒāĻā§āĻˇā§āĻ° āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻā§āĻ˛āĻŋāĻ¤ā§ āĻĒāĻžāĻ āĻžāĻ¨ā§ āĻšāĻ¯āĻŧ āĻ¯āĻž āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻā§āĻ˛āĻŋ āĻā§āĻ°ā§āĻ¯āĻžāĻ āĻāĻ°ā§ āĻāĻŦāĻ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻŦāĻŋāĻāĻžāĻļāĻāĻžāĻ°ā§āĻĻā§āĻ° āĻāĻžāĻ¨āĻžāĻ¯āĻŧā§ˇ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻĒāĻ¨āĻŋ āĻā§āĻ°ā§āĻ¸ āĻĨā§āĻā§ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ°āĻā§āĻ˛āĻŋ āĻŦāĻžāĻĻ āĻĻāĻŋāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻ¯āĻžāĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻ¨āĻžāĻŽ, āĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻāĻŦāĻ āĻĒāĻ°āĻŋāĻŦā§āĻļā§āĻ° āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻĨāĻžāĻā§āĨ¤ āĻĢāĻžāĻāĻļāĻ¨ āĻĒāĻ°ā§āĻā§āĻˇāĻž ($foo, #[\SensitiveParameter] $password, $baz ) { āĻ¨āĻŋāĻā§āĻˇā§āĻĒ āĻ¨āĻ¤ā§āĻ¨ āĻŦā§āĻ¯āĻ¤āĻŋāĻā§āĻ°āĻŽ('āĻ¤ā§āĻ°ā§āĻāĻŋ'); } āĻĒāĻ°ā§āĻā§āĻˇāĻž ('foo', 'āĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ', 'āĻŦāĻžāĻ'); āĻŽāĻžāĻ°āĻžāĻ¤ā§āĻŽāĻ āĻ¤ā§āĻ°ā§āĻāĻŋ: āĻ§āĻ°āĻž āĻĒāĻĄāĻŧā§āĻ¨āĻŋ āĻŦā§āĻ¯āĻ¤āĻŋāĻā§āĻ°āĻŽ: test.php-āĻ āĻ¤ā§āĻ°ā§āĻāĻŋ: 8 āĻ¸ā§āĻā§āĻ¯āĻžāĻ āĻā§āĻ°ā§āĻ¸: #0 test.php(11): test('foo', āĻ āĻŦāĻā§āĻā§āĻ(SensitiveParameterValue), 'baz') #1 {main} test.php āĻ āĻ¨āĻŋāĻā§āĻˇā§āĻĒ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻ āĻ¨āĻ˛āĻžāĻāĻ¨ 8
- āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ā§ āĻ§ā§āĻ°ā§āĻŦāĻ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻāĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§āĻā§ (āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯, āĻā§āĻĄ āĻĒā§āĻ¨āĻāĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž)āĨ¤ āĻāĻāĻāĻŋ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ā§ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ§ā§āĻ°ā§āĻŦāĻāĻā§āĻ˛āĻŋ āĻ¸ā§āĻ āĻļā§āĻ°ā§āĻŖā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¯āĻž āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯āĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ (āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ā§āĻ° āĻ¨āĻžāĻŽā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ¨āĻ¯āĻŧ)āĨ¤ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ Foo { public const CONSTANT = 1; āĻĒāĻžāĻŦāĻ˛āĻŋāĻ āĻĢāĻžāĻāĻļāĻ¨ āĻŦāĻžāĻ°(): int { return self::CONSTANT; // āĻŽāĻžāĻ°āĻžāĻ¤ā§āĻŽāĻ āĻ¤ā§āĻ°ā§āĻāĻŋ } } āĻā§āĻ˛āĻžāĻ¸ āĻŦāĻžāĻ° { Foo āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨; } var_dump(āĻŦāĻžāĻ°::CONSTANT); // ā§§
- āĻĄāĻŋāĻ¸āĻāĻāĻā§āĻāĻŋāĻ āĻ¨āĻ°āĻŽāĻžāĻ˛ āĻĢāĻ°ā§āĻŽā§ (DNF, āĻĄāĻŋāĻ¸āĻāĻžāĻā§āĻāĻāĻŋāĻ āĻ¨āĻ°āĻŽāĻžāĻ˛ āĻĢāĻ°ā§āĻŽ) āĻĒā§āĻ°āĻāĻžāĻ°āĻā§āĻ˛āĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻžāĻ° āĻā§āĻˇāĻŽāĻ¤āĻž āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻ¯āĻž āĻāĻĒāĻ¨āĻžāĻā§ āĻĒā§āĻ°āĻāĻžāĻ°ā§āĻ° āĻŽāĻŋāĻ˛āĻ¨ (āĻĻā§āĻ āĻŦāĻž āĻ¤āĻ¤ā§āĻ§āĻŋāĻ āĻĒā§āĻ°āĻāĻžāĻ°ā§āĻ° āĻ¸āĻāĻā§āĻ°āĻš) āĻāĻŦāĻ āĻĒā§āĻ°āĻāĻžāĻ°ā§āĻ° āĻā§āĻĻāĻā§ āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧ (āĻĒā§āĻ°āĻāĻžāĻ°ā§āĻ° āĻŽāĻžāĻ¨āĻā§āĻ˛āĻŋ āĻŦā§āĻļ āĻāĻ¯āĻŧā§āĻāĻāĻŋāĻ° āĻ¨āĻŋāĻā§ āĻĒāĻĄāĻŧā§ āĻāĻāĻ¯ā§āĻā§ āĻĒā§āĻ°āĻāĻžāĻ°)āĨ¤ āĻā§āĻ˛āĻžāĻ¸ Foo { āĻĒāĻžāĻŦāĻ˛āĻŋāĻ āĻĢāĻžāĻāĻļāĻ¨ āĻŦāĻžāĻ°((A&B)|null $entity) { if ($entity === null) { āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨ 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}"; āĻ āĻĒā§āĻ°āĻāĻ˛āĻŋāĻ¤: āĻ¸ā§āĻā§āĻ°āĻŋāĻ-āĻ ${} āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻŦāĻ¨ā§āĻ§ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§
- āĻāĻāĻļāĻŋāĻāĻāĻžāĻŦā§ āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤ āĻāĻ˛ā§āĻŦāĻ˛ āĻ¯ā§āĻā§āĻ˛āĻŋāĻā§ "call_user_func($callable)" āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻ˛ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¸ā§āĻā§āĻ˛āĻŋāĻā§ āĻŦāĻžāĻ¤āĻŋāĻ˛ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ "$callable()" āĻĢāĻ°ā§āĻŽā§ āĻāĻ˛ āĻāĻ°āĻž āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°ā§ āĻ¨āĻž: "self::method" "parent::method" "static :: āĻĒāĻĻā§āĻ§āĻ¤āĻŋ" ["āĻ¸ā§āĻŦāĻ¯āĻŧāĻ", "āĻĒāĻĻā§āĻ§āĻ¤āĻŋ"] ["āĻĒāĻŋāĻ¤āĻžāĻŽāĻžāĻ¤āĻž", "āĻĒāĻĻā§āĻ§āĻ¤āĻŋ"] ["āĻ¸ā§āĻĨāĻŋāĻ°", "āĻĒāĻĻā§āĻ§āĻ¤āĻŋ"] ["āĻĢā§", "āĻŦāĻžāĻ°::āĻĒāĻĻā§āĻ§āĻ¤āĻŋ"] [āĻ¨āĻ¤ā§āĻ¨ āĻĢā§, "āĻŦāĻžāĻ°: : āĻĒāĻĻā§āĻ§āĻ¤āĻŋ" "]
- error_log_mode āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻŋāĻāĻž āĻ¸ā§āĻāĻŋāĻāĻ¸ā§ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻ¯āĻž āĻāĻĒāĻ¨āĻžāĻā§ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻ˛āĻā§āĻ° āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻŽā§āĻĄ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧāĨ¤
āĻāĻ¤ā§āĻ¸: opennet.ru