首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在PHP中获取动态选择的类常量的值

在PHP中获取动态选择的类常量的值
EN

Stack Overflow用户
提问于 2011-05-27 10:03:38
回答 7查看 33.6K关注 0票数 124

我希望能够做这样的事情:

代码语言:javascript
复制
class ThingIDs
{
    const Something = 1;
    const AnotherThing = 2;
}

$thing = 'Something';
$id = ThingIDs::$thing;

这不管用。有没有一种简单的方法来做一些等价的事情?注意,我被这个类卡住了;它在一个我不能重写的库中。我正在编写在命令行上接受参数的代码,我真的希望它接受符号名称,而不是id号。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2011-05-27 10:20:20

使用constant()函数:

代码语言:javascript
复制
$id = constant("ThingIDs::$thing");
票数 202
EN

Stack Overflow用户

发布于 2011-05-27 10:19:41

使用反射

代码语言:javascript
复制
$r = new ReflectionClass('ThingIDs');
$id = $r->getConstant($thing);
票数 29
EN

Stack Overflow用户

发布于 2014-10-07 15:26:01

如果使用命名空间,则应将命名空间包括在类中。

代码语言:javascript
复制
echo constant('My\Application\ThingClass::ThingConstant'); 
票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6147102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档