Enum %s cannot include magic method %s¶
Description¶
Some magic methods are not allowed in an enumeration. __get, __set, __isset, __unset, __construct, __destruct, __sleep, __wakeup, __serialize, __unserialize, __toString, __set_state, __clone and __debugInfo.
This also means that some other magic methods are allowed : __call, __callStatic and __invoke.
Example¶
<?php
enum E {
function __get($a) {}
}
?>
Literal Examples¶
Enum e cannot include magic method __get
Enum e cannot include magic method __set
Enum e cannot include magic method __destruct
Solutions¶
Remove the magic method from the enumeration.
Turn the enumeration into a class.