哈希空间 Ctrl + F 进行搜索
首页 php手册中文版 CSS中文手册 哈希文档 Markdown在线工具

PHP enumerations 组件

和对象的差异

尽管 enum 基于类和对象,但它们不完全支持对象相关的所有功能。 尤其是枚举条目不能有状态。

以下对象功能可用,功能和其他对象一致:

枚举类型的魔术常量 ::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
?>
打开 哈希空间 微信小程序中查看更佳