動態存取類別常數
在 PHP 中,使用變數動態存取類常數可能具有挑戰性。但是,有兩種有效的方法可以實現此目的:
使用常數函數
constant() 函數接受表示常數名稱的字串參數並對其求值:
<br>self:: <br>{<pre class="brush:php;toolbar:false">const MY_CONST = 'myval'; static function test() { $c = 'MY_CONST'; return constant('self::'. $c); }
}
echo A::test(); // 輸出:myval
在此範例中,constant() 函數計算字串「self::MY_CONST」並傳回MY_CONST 常數的值。
使用反射
反射允許您動態存取有關類別、方法和常數的資訊:
<br>$ref = new ReflectionClass( 'A');<br>$constName = 'MY_CONST';<br>echo $ref->getConstant($constName); // 輸出:myval<br>
這裡,為A類別建立了ReflectionClass物件。然後 getConstant() 方法傳回 MY_CONST 常數的值。
以上是如何在 PHP 中動態存取類別常數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!