php - 如何检查对象是否具有 Symfony2 中的方法

标签 php symfony

我想使用同一段代码来管理多个实体,但它可能会有所不同,具体取决于它是否有某种方法。这就是为什么我需要检查对象是否有名称的方法。有什么办法吗?

最佳答案

你可以简单地使用is_callable:

if (is_callable([$entity, 'methodName']))
    doSomething();

更简洁的方法是使用 instanceof 检查对象的类。因为方法会来来去去,但是一个对象的特性是由它的类决定的:

if ($entity instanceof \Some\Bundle\Entity\Class)
    doSomething();

关于php - 如何检查对象是否具有 Symfony2 中的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32432562/

相关文章:

javascript - 使用 Javascript 将复选框动态添加到 Symfony 2 表单

postgresql - 学说迁移包和 postgres 架构 : diff does not work properly

symfony - 配置一个监听器只在一个包中执行 symfony 2

javascript - 从 javaScript 设置 twig 变量

javascript - PHP 将变量从表单传递到 php

php - 如何在 PHP 7.4 中使用 DocBlocks?

php - CodeIgniter - 如何在特定时间后自动删除数据库值?

php - Symfony2.3 带有 IN 子句的原始 sql 查询

php - 函数与对象最佳实践

php - 从 1 个海报中搜索重复的主题标题