gpt4 book ai didi

php - 用枚举类型提示?

转载 作者:行者123 更新时间:2023-12-04 01:54:45 26 4
gpt4 key购买 nike

我在这里阅读了有关枚举及其“实现”的信息
PHP and Enumerations
重点是,为什么要使用枚举,而不是类型提示?
但是这个实现不允许用于类型提示。因为枚举条目都是字符串。
有什么办法可以说

function($a) {

}
$a必须是 'foo' , 'bar''baz'在 PHP 中?
我使用 phpstorm/intellij,所以如果有另一种方法可以做到这一点,那也很好。例如。在文档中说,但具有来自 phpstorm 的自动完成魔法,或者编译错误。

最佳答案

从 PHP 8.1 开始,您将能够 to use actual enumerations .

enum A {
case FOO = 'foo';
case BAR = 'bar';
case BAZ = 'baz';
}
然后在您的函数中 a() ,您需要为枚举键入提示 A .
function a(A $a) {
echo $a->value;
}
现在 a($a)只会接受:
a(A::FOO);
a(A::BAR);
a(A::BAZ);
甚至:
a(A::from('bar'));
但任何不是有效的输入 case会因 ValueError 而失败异常(exception)。

关于php - 用枚举类型提示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37083437/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com