|
@@ -24,7 +24,7 @@ enum CommentStatus: int
|
|
|
*/
|
|
|
public function label(): string
|
|
|
{
|
|
|
- return match($this) {
|
|
|
+ return match ($this) {
|
|
|
self::PENDING => '待评论',
|
|
|
self::COMMENTED => '已评论',
|
|
|
};
|
|
@@ -59,7 +59,7 @@ enum CommentStatus: int
|
|
|
*/
|
|
|
public static function fromValue(int $value): ?self
|
|
|
{
|
|
|
- return match($value) {
|
|
|
+ return match ($value) {
|
|
|
self::PENDING->value => self::PENDING,
|
|
|
self::COMMENTED->value => self::COMMENTED,
|
|
|
default => null
|
|
@@ -88,4 +88,32 @@ enum CommentStatus: int
|
|
|
self::COMMENTED->value => self::COMMENTED->label(),
|
|
|
];
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 将枚举转换为字符串
|
|
|
+ *
|
|
|
+ * 使用示例:
|
|
|
+ * $status = CommentStatus::PENDING;
|
|
|
+ *
|
|
|
+ * // 与字符串比较
|
|
|
+ * if ($status == '1') { // 可以直接与字符串比较
|
|
|
+ * // do something
|
|
|
+ * }
|
|
|
+ *
|
|
|
+ * // 与数字比较
|
|
|
+ * if ($status == 1) { // 可以直接与数字比较
|
|
|
+ * // do something
|
|
|
+ * }
|
|
|
+ *
|
|
|
+ * echo $status; // 输出 "1"
|
|
|
+ * $str = (string)$status; // 显式转换为字符串 "1"
|
|
|
+ * $num = (int)$status; // 显式转换为数字 1
|
|
|
+ *
|
|
|
+ * @return string 返回枚举的值的字符串形式
|
|
|
+ */
|
|
|
+ public function __toString(): string
|
|
|
+ {
|
|
|
+ return (string) $this->value;
|
|
|
+ }
|
|
|
+
|
|
|
}
|