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
Alternatives
- Remove the magic method from the enumeration.
- Turn the enumeration into a class.