我想使用相同的代码来管理多个实体,但它可能会有所不同,具体取决于它是否有某种方法.这就是为什么我需要检查对象是否有名称的方法.有没有办法做到这一点?
解决方法:
你可以简单地使用is_callable:
if (is_callable([$entity, 'methodName']))
doSomething();
更简洁的方法是使用instanceof检查对象的类.因为方法会来来去去,但是对象的特性由它的类决定:
if ($entity instanceof \Some\Bundle\Entity\Class)
doSomething();