PHP获取类内部常量值的方法.md PHP获取类内部常量值的方法今天在写搭建一个api接口,需求返回程序处理后对于的结果状态码,如status=-1001就代表不合法请求。不想再代码里面直接写-1
> PHP获取类内部常量值的方法 今天在写搭建一个api接口,需求返回程序处理后对于的结果状态码,如status=-1001就代表不合法请求。不想再代码里面直接写-1001这样的数字,阅读理解太不友好了。就想着创建一个状态码类,里面定义好需要的常量,既可以直接作为静态常量访问,也可以返回想要的数据组合。 但问题来了,在想要返回需要的数据组合时候,通过传入的参数获取对应常量的时候,一直找不到方法,网上寻觅了会找到了几种方法。 ``` class TestClass { const NAME = 'A’s name'; } $testClass = new TestClass(); $const = 'NAME'; // 方法一 eval $name = eval( 'return $testClass::' . $const . ';' ); // 方法二 反射 $name = ( new \ReflectionClass( $testClass ) )->getconstant( $const ); // 方法三 杂项函数 $name = constant( get_class( $testClass ) .'::'. $const ); var_dump($name); ``` 我只使用了第三种方法,应该其他几种也同样行,就不知道哪个效率好些。