PHP 8.5.0 Beta 3 available for testing

ใ‚ชใƒ–ใ‚ธใ‚งใ‚ฏใƒˆใจใฎ้•ใ„

ๅˆ—ๆŒ™ๅž‹ใฏใ‚ฏใƒฉใ‚นใ‚„ใ‚ชใƒ–ใ‚ธใ‚งใ‚ฏใƒˆใฎไธŠใซๆง‹็ฏ‰ใ•ใ‚Œใฆใ„ใพใ™ใŒใ€ ใ‚ชใƒ–ใ‚ธใ‚งใ‚ฏใƒˆใซ้–ข้€ฃใ™ใ‚‹ๆฉŸ่ƒฝใ‚’ๅ…จใฆใ‚ตใƒใƒผใƒˆใ—ใฆใ„ใ‚‹ใ‚ใ‘ใงใฏใ‚ใ‚Šใพใ›ใ‚“ใ€‚ ็‰นใซใ€ๅˆ—ๆŒ™ๅž‹ใงใฏ็Šถๆ…‹ใ‚’ๆŒใคใ“ใจใŒ็ฆๆญขใ•ใ‚Œใฆใ„ใพใ™ใ€‚

  • ใ‚ณใƒณใ‚นใƒˆใƒฉใ‚ฏใ‚ฟใ‚„ใƒ‡ใ‚นใƒˆใƒฉใ‚ฏใ‚ฟใฏ็ฆๆญขใ•ใ‚Œใฆใ„ใพใ™ใ€‚
  • ็ถ™ๆ‰ฟใฏใ‚ตใƒใƒผใƒˆใ•ใ‚Œใฆใ„ใพใ›ใ‚“ใ€‚ๅˆ—ๆŒ™ๅž‹ใฏ็ถ™ๆ‰ฟใงใใพใ›ใ‚“ใ—ใ€ไฝ•ใ‹ใ‚’็ถ™ๆ‰ฟใ•ใ‚Œใ‚‹ใ“ใจใ‚‚ใ‚ใ‚Šใพใ›ใ‚“ใ€‚
  • staticใพใŸใฏใ‚ชใƒ–ใ‚ธใ‚งใ‚ฏใƒˆใฎใƒ—ใƒญใƒ‘ใƒ†ใ‚ฃใฏ่จฑๅฏใ•ใ‚Œใฆใ„ใพใ›ใ‚“ใ€‚
  • ๅˆ—ๆŒ™ๅž‹ใฎ case ใ‚’ clone ใ™ใ‚‹ใ“ใจใฏใ‚ตใƒใƒผใƒˆใ•ใ‚Œใฆใ„ใพใ›ใ‚“ใ€‚ใชใœใชใ‚‰ใ€case ใฏใ‚ทใƒณใ‚ฐใƒซใƒˆใƒณใ‚คใƒณใ‚นใ‚ฟใƒณใ‚นใงใชใ‘ใ‚Œใฐใชใ‚‰ใชใ„ใ‹ใ‚‰ใงใ™ใ€‚
  • ไปฅไธ‹ใซ็คบใ™ใ‚‚ใฎไปฅๅค–ใฎ ใƒžใ‚ธใƒƒใ‚ฏใƒกใ‚ฝใƒƒใƒ‰ ใฏ่จฑๅฏใ•ใ‚Œใฆใ„ใพใ›ใ‚“ใ€‚
  • ๅˆ—ๆŒ™ๅž‹ใฏใ€ๅธธใซไฝฟใ†ๅ‰ใซๅฎฃ่จ€ใ—ใฆใŠใ‹ใชใ‘ใ‚Œใฐใชใ‚Šใพใ›ใ‚“ใ€‚

ไปฅไธ‹ใฎใ‚ชใƒ–ใ‚ธใ‚งใ‚ฏใƒˆใฎๆฉŸ่ƒฝใฏๅˆฉ็”จๅฏ่ƒฝใงใ™ใ—ใ€ ไป–ใฎใ‚ชใƒ–ใ‚ธใ‚งใ‚ฏใƒˆใจๅŒใ˜ๆŒฏใ‚‹่ˆžใ„ใ‚’ใ—ใพใ™:

  • public, private, protected ใƒกใ‚ฝใƒƒใƒ‰
  • public, private, protected ใช static ใƒกใ‚ฝใƒƒใƒ‰
  • public, private, protected ใชๅฎšๆ•ฐ
  • ๅˆ—ๆŒ™ๅž‹ใฏใ€ไปปๆ„ใฎๆ•ฐใฎใ‚คใƒณใ‚ฟใƒผใƒ•ใ‚งใ‚คใ‚นใ‚’ๅฎŸ่ฃ…ใงใใพใ™ใ€‚
  • ๅˆ—ๆŒ™ๅž‹ใจ case ใซใฏใ€ ใ‚ขใƒˆใƒชใƒ“ใƒฅใƒผใƒˆ ใ‚’ไป˜ๅŠ ใ™ใ‚‹ใ“ใจใŒใงใใพใ™ใ€‚ TARGET_CLASS ใ‚ฟใƒผใ‚ฒใƒƒใƒˆใƒ•ใ‚ฃใƒซใ‚ฟใซใฏใ€ ๅˆ—ๆŒ™ๅž‹ใใฎใ‚‚ใฎใ‚‚ๅซใพใ‚Œใพใ™ใ€‚ TARGET_CLASS_CONST ใ‚ฟใƒผใ‚ฒใƒƒใƒˆใƒ•ใ‚ฃใƒซใ‚ฟใซใฏใ€ ๅˆ—ๆŒ™ๅž‹ใฎ case ใ‚‚ๅซใพใ‚Œใพใ™ใ€‚
  • ใƒžใ‚ธใƒƒใ‚ฏใƒกใ‚ฝใƒƒใƒ‰ __call, __callStatic, __invoke
  • ใƒžใ‚ธใƒƒใ‚ฏๅฎšๆ•ฐ __CLASS__ ใจ __FUNCTION__ ใฏใ€้€šๅธธ้€šใ‚Šๅ‹•ไฝœใ—ใพใ™ใ€‚

ใƒžใ‚ธใƒƒใ‚ฏๅฎšๆ•ฐ ::class ใ‚’ๅˆ—ๆŒ™ๅž‹ใงไฝฟใ†ใจใ€ ไปปๆ„ใฎๅๅ‰็ฉบ้–“ใ‚’ๅซใ‚“ใ ๅž‹ใฎๅๅ‰ใจใ—ใฆ่ฉ•ไพกใ•ใ‚Œใพใ™ใ€‚ ใ“ใ‚Œใฏใ‚ชใƒ–ใ‚ธใ‚งใ‚ฏใƒˆใจๅ…จใๅŒใ˜ใงใ™ใ€‚ case ใ‚คใƒณใ‚นใ‚ฟใƒณใ‚นใซใŠใ‘ใ‚‹ ::class ใ‚‚ใ€ ๅˆ—ๆŒ™ๅž‹ใจใ—ใฆ่ฉ•ไพกใ•ใ‚Œใพใ™ใ€‚ใ“ใ‚Œใฏใ€ใใฎๅž‹ใฎใ‚คใƒณใ‚นใ‚ฟใƒณใ‚นใฎๅ ดๅˆใจๅŒใ˜ใงใ™ใ€‚

ใ•ใ‚‰ใซใ€ๅˆ—ๆŒ™ๅž‹ใฎ case ใฏ new ใ‚’ไฝฟใฃใฆ็›ดๆŽฅใ‚คใƒณใ‚นใ‚ฟใƒณใ‚นๅŒ–ใงใใพใ›ใ‚“ใ—ใ€ ReflectionClass::newInstanceWithoutConstructor() ใ‚’ไฝฟใฃใฆใ‚‚ๅŒๆง˜ใงใ™ใ€‚ ใ“ใ‚Œใ‚‰ใฏไธกๆ–นใ€ใ‚จใƒฉใƒผใซใชใ‚Šใพใ™ใ€‚

<?php

$clovers
= new Suit();
// Error: Cannot instantiate enum Suit

$horseshoes = (new ReflectionClass(Suit::class))->newInstanceWithoutConstructor()
// Error: Cannot instantiate enum Suit
?>
๏ผ‹add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top