标签:STATUS const 常量 SUCCESS 是否 FAILED PHP 类中
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)
*/
通过这种方法,能简单的判断是否出现是否存在常量。
标签:STATUS,const,常量,SUCCESS,是否,FAILED,PHP,类中 来源: https://blog.csdn.net/jobsen123/article/details/120196800
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。