ReturnTypeWillChange ã‚ĸトãƒĒビãƒĨãƒŧト

(PHP 8 >= 8.1.0)

はじめãĢ

PHP 8.1.0 äģĨé™ã€å†…éƒ¨ã‚¯ãƒŠã‚šãŽãƒĄã‚Ŋッドがæˆģã‚Šå€¤ãŽåž‹ã‚’åŽŖč¨€ã™ã‚‹ã‚ˆã†ãĢãĒる、 æšĢåŽšįš„ãĒį§ģčĄŒãƒ•ã‚§ãƒŧã‚ēが始ぞりぞした。

ãģとんおぎ final でãĒã„å†…éƒ¨ãƒĄã‚Ŋッドは、 それをã‚Ēãƒŧバãƒŧナイドする際、 äē’æ›æ€§ãŒã‚ã‚‹æˆģã‚Šå€¤ãŽåž‹ã‚’åŽŖč¨€ã™ã‚‹ã“ã¨ãŒåŋ…é ˆãĢãĒãŖãĻいぞす。 そうしãĒい場合、į‰ŋが有劚かを検č¨ŧする際ãĢ、 ã‚ˇã‚°ãƒãƒãƒŖãŒå…ąå¤‰æ€§ãŽãƒĢãƒŧãƒĢãĢ違反しãĻいるという推åĨ¨ã•れãĒいč­Ļ告がį™ēį”Ÿã—ãžã™ã€‚

将æĨぎバãƒŧã‚¸ãƒ§ãƒŗãŽ PHP ã§ã¯ã€ãƒĄã‚Ŋãƒƒãƒ‰ãŽã‚ˇã‚°ãƒãƒãƒŖãŒåŽŗå¯†ãĢチェックされるようãĢãĒり、 äē’æ›æ€§ãŒãĒã„å ´åˆã¯č‡´å‘Ŋįš„ãĒエナãƒŧがį™ēį”Ÿã™ã‚‹ã‚ˆã†ãĢãĒりぞす。

PHP ぎバãƒŧã‚¸ãƒ§ãƒŗé–“ãŽäē’æ›æ€§ã‚’äŋãĄãŸã„がためãĢ、 ã‚ĒãƒŧバãƒŧãƒŠã‚¤ãƒ‰ã™ã‚‹ãƒĄã‚Ŋッドぎæˆģã‚Šå€¤ãŽåž‹ã‚’åŽŖč¨€ã§ããĒい場合や、 ã‚ĒãƒŧバãƒŧãƒŠã‚¤ãƒ‰ã™ã‚‹ãƒĄã‚Ŋッドがäē’æ›æ€§ãŽãĒいæˆģã‚Šå€¤ãŽåž‹ã‚’åŽŖč¨€ã—ãĻいる場合は、 ã‚ĸトãƒĒビãƒĨãƒŧト #[\ReturnTypeWillChange] をčŋŊ加することで推åĨ¨ã•れãĒいč­Ļ告を抑æ­ĸできぞす。

č­Ļ告

ãƒĻãƒŧã‚ļãƒŧåŽšįžŠãŽã‚¯ãƒŠã‚šã§åŽšįžŠã•ã‚ŒãŸãƒĄã‚Ŋッドをã‚Ēãƒŧバãƒŧナイドする場合、 æˆģã‚Šå€¤ãŽåž‹ã¯åŽŗå¯†ãĢチェックされぞす。 ã‚ĒãƒŧバãƒŧãƒŠã‚¤ãƒ‰ã™ã‚‹ãƒĄã‚ŊッドãĢこぎã‚ĸトãƒĒビãƒĨãƒŧトが指厚されãĻいãĻも、 型ãĢäē’æ›æ€§ãŒãĒã„å ´åˆã¯č‡´å‘Ŋįš„ãĒエナãƒŧがį™ēį”Ÿã—ãžã™ã€‚

ReturnTypeWillChange ã‚ĸトãƒĒビãƒĨãƒŧトが推åĨ¨ã•れãĒいč­Ļ告を抑æ­ĸするぎは、 äģŽãŽæˆģり値ぎ型ぎフェãƒŧã‚ēぎ間だけです。 åŽŗå¯†ãĒ型チェックがåŧˇåˆļされるようãĢãĒると、こぎã‚ĸトãƒĒビãƒĨãƒŧトは抟čƒŊしãĒくãĒり、 å†…éƒ¨ã‚¯ãƒŠã‚šãŽãƒĄã‚Ŋッドをã‚Ēãƒŧバãƒŧナイドする際ãĢã‚ˇã‚°ãƒãƒãƒŖãŽäē’æ›æ€§ãŒãĒいと、 致å‘Ŋįš„ãĒエナãƒŧがį™ēį”Ÿã™ã‚‹ã‚ˆã†ãĢãĒりぞす。

クナ゚æĻ‚čρ

#[\Attribute]
final class ReturnTypeWillChange {
/* ãƒĄã‚Ŋッド */
public function __construct()
}

į›ŽæŦĄ

īŧ‹add a note

User Contributed Notes

There are no user contributed notes for this page.