Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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.