尽管 enum 基于类和对象,但它们不完全支持对象相关的所有功能。 尤其是枚举条目不能有状态。
以下对象功能可用,功能和其他对象一致:
TARGET_CLASS 包括枚举自身。
    目标过滤器 TARGET_CLASS_CONST 包括枚举条目。
   __CLASS__ 和 __FUNCTION__ 的功能和平时无差别
   枚举类型的魔术常量 ::class  和对象完全一样,
   它是个包含命名空间的类型名称。
   由于枚举条目是枚举类型的一个实例,因此它的 ::class 
   也和枚举类型一样。
  
  此外,不能用 new 直接实例化枚举条目,
  也不能用 ReflectionClass::newInstanceWithoutConstructor() 反射实例化。
  这么做都会导致错误。
  
<?php
$clovers = new Suit();
// Error: Cannot instantiate enum Suit
$horseshoes = (new ReflectionClass(Suit::class))->newInstanceWithoutConstructor()
// Error: Cannot instantiate enum Suit
?>