作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
从性能的角度我应该选择:
$className = 'Foobar';
$methodName = 'method';
这个
$Reflected = new ReflectionClass($className);
$result = $Reflected->hasMethod($methodName);
结束
$result = method_exists($className,$method);
为什么?
对于这种情况,我没有使用 ReflectionClass 的任何其他属性或方法。
最佳答案
我用 1,000,000 个循环对其进行了测量。可能不具有代表性。
需要 21 秒:
$reflector = new ReflectionClass($module);
$reflector->hasMethod('getDecryptedId'))
需要 1.2 秒:
method_exists($module, 'getDecryptedId')
所以method_exists 快了 17.5 倍。如果您大量使用它,这只会很有趣。
关于php - Reflection::hasMethod 与 method_exists 性能对比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20517486/
我正在创建一个响应魔法 __call() 方法的动态类。问题是,因为我是在一个已经存在的框架 (Kohana) 之上构建它,它使用 ReflectionClass::hasMethod 检查类的方法是
从性能的角度我应该选择: $className = 'Foobar'; $methodName = 'method'; 这个 $Reflected = new ReflectionClass($cla
我是一名优秀的程序员,十分优秀!