αααααΆααααΈαα½αααααΆαααααΆαα’αα·αααααα ααΆαα ααααααΆαααΆααΆααααααααααα·ααΈ PHP 8.2 ααααΌαααΆααααα αΆαα ααΆααΆααααΈααααα½ααααα αΌαααΆαααααααΈαααα»αααΆαααααΈ ααααΌα ααΆααΆαααααΆααααααΌαααΆα αααΎαααααααααααΆαααααααΆα
ααΆααααααα’ααααΆααααα αααα»α PHP 8.2α
- ααΆααααααααααααααΆααααα»αααΆααααααΆααααααΆααααΆααΆαααα’αΆαα ααααααααααααα·αα αααα»αααααΆααααααααα’αΆα ααααΌαααΆααααααααααααααα αααααΆααααΈααααα½αααΆαα·αα’αΆα ααααΆααααααΌαααΆαααα ααΈαα»α ααααααααααααα·ααααΆααααΈαα½ααα’αΆα ααααΌαααΆααααααΆααααΆααΆαααα’αΆα ααα»ααααα₯α‘αΌααααα’αααα’αΆα ααΎαααααααααααααΆααααααααααααααα·ααααΆααααΆααα’αααααα»αααααααα½αα ααΆααααααΆααααα "ααΆαααα’αΆα" αα ααααα·αααααΆααααααΆααΆαααααααααααααααα·ααΈααΆαααααααααΆααααααα ααααΆαααααααα readonly class Post { public function __construct( public string $title, public Author $author, ) {} } $post = new Post(/* β¦ */); $post->unknown = 'αα»α'; // ααα α»αα αα·αα’αΆα αααααΎα dynamic property Post::$unknown
- ααΆαααααααααααααααΆα ααααα‘αα "αα·α" "αα·ααα·α" αα·α "ααα" αααα’αΆα αααααααααααΉαααααΌααααα½α α αΎαααααΌαααΆαααααΎα§ααΆα ααα ααΎααααΈαααα‘αααα»αααΆααααααΆαααααααα ααααα α»α α¬ααααααααα ααΈαα»α "true", "false" αα·α "null" α’αΆα ααααΎααΆαααααΆαα½ααααααααααααααα (α§ααΆα ααα "string|false") ααα»ααααα₯α‘αΌαααααα½αααΆα’αΆα ααααΌαααΆαααααΎαααα‘ααααΈααααΆα function alwaysFalse(): false { return false ; }
- αααααααααααΆααααα»αααΆααααααααΆαααΆαααααααααΎααα αααα»αααααααααΆααααααα‘α»ααααααΆαααα α»αα ααΆαααΆααα ααααααααΆαααΆααααΆααα’αΆα ααΆααΆαα αΆαααΆα α αα ααααααααααααΆαα’αααΈααα α»ααααααΎαα‘αΎαααααΌαααΆαααααΎαααααααααααααααα·αα ααΆααααααΆααααααΆααΈααΈααΈαααααΆαααΆααααα αΆ αα·αααΌαααααΉααααα’αααα’αα·ααααααα’αααΈαα½αααα α§ααΆα ααα α’αααα’αΆα αααααΆαααΆααααααααααα½ααααα αΌααααααα’αααααααΎααααΆαα ααΆααααααααΆαα αα·αα’αααααα·ααααΆαααΈααΆαααΆαααΆαα ααΆαααααΎααααααα»αααΆα ($foo, #[\SensitiveParameter] $password, $baz) { throw new Exception('Error'); } test('foo', 'password', 'baz'); ααα α»ααααααααααα Uncaught Exception: Error in test.php:8 Stack track: #0 test.php(11): test('foo', Object(SensitiveParameterValue), 'baz') #1 {main} αααα αααααα»α test.php αα ααΎαααααΆαα 8
- α’αα»ααααΆαα±αααααααααααα αααα»ααααααα (αααααα ααααααΆααααααΆααααααΎα‘αΎααα·αααΌαααΌα)α ααααααααΆαααααααααα»ααααααααα½αα’αΆα ααααΌαααΆαα αΌαααααΎααΆααααααααΆαααααααααΎαααααα (ααα»αααααα·ααααααΆααααααααααααααα) α αααααα Foo { public const CONSTANT = 1; public function bar(): int { return self::CONSTANT; // ααα α»αααααααααα } } αααΆαααααΆαα {ααααΎ Foo; } var_dump(Bar::CONSTANT); // α‘
- ααΆααααααααααααααΆααααα»αααΆααααααΆαααααααααα αααα»αααααααααααααΆααααα·ααααα αα (DNF, Disjunctive Normal Form) αααα’αα»ααααΆαα±ααα’ααααααα αΌαααααΆααΌααααααααα ααΈα (ααΆααααααΌαααΈααααααα α¬α αααΎααααααα) αα·αα ααα»α ααααααααααααααα (ααααααααααααααααααααΆααααΆαααααααααΆα αααΎα αααααααααα»ααααααααΆαααααΆ) α class Foo { public function bar((A&B)|null $entity) { if ($entity === null) { return null; } αααα‘αα $entity; } }
- αααααααααααααααΈ "α ααααα" ααααΌαααΆαααααΎα‘αΎαααΆαα½αααΉααα»αααΆα αα·αααααΆαααααααΆαααααααΎαααα αα·αααααΆααα αααααα αααΌαα»ααααααααΌαα ααα»α αααααΆαααααααααα·αααααα» α’αα»ααααΆαα±ααα’αααααααΎαααΎααααΆαααΈαααααααααααΆαααααΆαααααααΎααααα ααααα αα½αααΆααα’αααΈααααααααα·αααααααΆααααααΎαααα»αααΆαααααΈαααααΈα αα·αααααααα»αααΆααααα½α α§ααΆα ααααααααΆααααΆαααΆαα’αΆαα αα·αααααα’αααααααα ααααα ααααΎαααΎαααααΆααα α»α α’αΆααα αααααα ααΆαααααΎααααΆαααααΆαααΈαααααΎαααΆα αααΎααααα»ααααααααΆαααααΆααΆαα½αααΉαααααα―αααΆαααααααΆαααααα½αααααα’αααα $rng = $is_production ? ααααΈ Random\Engine\Secure(): new Random\Engine\Mt19937(1234); $randomizer = new 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 "["αααα½αα―α", "αα·ααΈααΆααααα"] ["αͺαα»αααααΆα", "αα·ααΈααΆααααα"] ["αα·αα·αααα", "αα·ααΈααΆααααα"] ["α αααΌ", "αααΆα::αα·ααΈααΆααααα"] [Foo ααααΈ, "αααΆα: :αα·ααΈααΆααααα" ]
- ααΆαααααΆα error_log_mode ααααΌαααΆααααααααα ααΆαααααα αααα’αα»ααααΆαα±ααα’ααααααααααααα αΌαααααΎαααΆααα ααΆαααααααα ααα»ααα α»αα
ααααα: opennet.ru