php 判断类里面的常量
所属分类: PHP基础 2022-10-21 21:41:38 编辑:admin 浏览次数 1459 次
class A {const STATUS_SUCCESS = 1;const STATUS_FAILED = 0;}
要怎样才能判断类中是否包含 A::STATUS_SUCCESS 这个变量呢? 理论上来讲,我们可以使用 PHP 的 Reflection 机制,如:
$ref = new ReflectionClass('A');print_r($ref->getConstants());
/* 输出:
Array ( ['STATUS_SUCCESS'] => 1 ['STATUS_FAILED'] => 0 )
*/
但是, 使用 反射 的话,对性能影响可是很大的,如果只需要简单的判断是否存在某某名称的常量,可以这样操作:
class A {const STATUS_SUCCESS = 1;const STATUS_FAILED = 0;
public function checkStatus() { return defined("self::STATUS_SUCCESS"); }
}
var_dump((new A)->checkStatus());
/* 输出:
bool(true)
*/
通过这种方法,能简单的判断是否出现是否存在常量
猜你喜欢
- 富文本编辑器UEditor过滤代码问题解决方法 2018-06-27
- 搜索功能模块 2018-07-11
- 一键生成sitemap 2018-07-11
- php数组操作技巧 2018-07-30
- 关于接口安全性设计和操作 2018-08-02
- php编码规范 2018-08-03