gpt4 book ai didi

Php Eloquent 枚举

转载 作者:搜寻专家 更新时间:2023-10-31 21:09:08 26 4
gpt4 key购买 nike

是否有人熟悉使用此库:https://github.com/eloquent/enumeration

我在将常量实例转换回常量值时遇到问题。

class TestEnum extends AbstractEnumeration
{
const THING1 = 'test1';
const THING2 = 'test2';
}

class DoStuff
{
public function action(TestEnum $test)
{
if($test === 'test1') {
echo 'THIS WORKS';
}
}
}

$enumTest = TestEnum::THING1();
$doStuff = new DoStuff();
$doStuff->action($enumTest);

我的目标是让方法操作打印“THIS WORKS”。因为 $test 是 TestEnum 的一个实例,所以这不会计算为真。

最佳答案

你很接近,但有两个问题:

  1. 个案很重要。 事物 1 != 事物 1
  2. $test,当被视为字符串时,计算为其键 THING1。你想要它的值 $test->value()

示例:

class TestEnum extends AbstractEnumeration
{
const THING1 = 'test1';
const THING2 = 'test2';
}

class DoStuff
{
public function action(TestEnum $test)
{
if($test->value() === 'test1') {
echo 'THIS WORKS';
}
}
}

$enumTest = TestEnum::THING1();
$doStuff = new DoStuff();
$doStuff->action($enumTest);

输出:

THIS WORKS

关于Php Eloquent 枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25496315/

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