如何使用变量存储名称访问 PHP 中的类常量?

DDD
发布: 2024-11-04 02:41:30
原创
906 人浏览过

How can you access class constants in PHP using a variable-stored name?

使用变量存储名称访问类常量

在面向对象编程中,类常量提供了一种在对象中定义不可变值的便捷方法。班级。然而,使用包含常量名称的变量访问这些常量会带来挑战。

考虑以下示例:

<code class="php">class A {
    const MY_CONST = "value";
}

$myVar = "MY_CONST";</code>
登录后复制

在这种情况下,尝试使用 self 访问 MY_CONST 的值: :$myVar 不起作用,因为它引用的是静态属性而不是常量。

幸运的是,有两种方法可以绕过此限制:

常量函数:

常量函数可以访问通过定义和类声明定义的常量。它采用constant('::')的形式,其中::代表命名空间,constName指定常量的名称。

<code class="php">$c = 'MY_CONST';
echo constant('::' . $c); // Output: value</code>
登录后复制

反射类:

使用Reflection API,可以通过反射类实例访问类常量。

<code class="php">$ref = new ReflectionClass('A');
$constName = 'MY_CONST';
echo $ref->getConstant($constName); // Output: value</code>
登录后复制

以上是如何使用变量存储名称访问 PHP 中的类常量?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!