Accessing Class Constants Dynamically
Accessing class constants can be a challenge when you only know the constant's name during runtime. By utilizing system functions or reflection, it's possible to overcome this limitation.
Using Constant Function
The constant function simplifies constant retrieval. It's capable of working with both constants defined using define and class constants:
<code class="php">class A { const MY_CONST = 'myval'; static function test() { $c = 'MY_CONST'; return constant('self::'. $c); } } echo A::test(); // Output: myval</code>
Using Reflection Class
For a more elaborate approach, reflection can be employed:
<code class="php">$ref = new ReflectionClass('A'); $constName = 'MY_CONST'; echo $ref->getConstant($constName); // Output: myval</code>
The above is the detailed content of How to Access Class Constants Dynamically in PHP?. For more information, please follow other related articles on the PHP Chinese website!