Php 泛型类型函数参数
我目前正在做一个新的树枝扩展。Php 泛型类型函数参数,php,symfony,doctrine-orm,symfony-3.4,Php,Symfony,Doctrine Orm,Symfony 3.4,我目前正在做一个新的树枝扩展。 此细枝扩展接受为参数en entity object(\AppBundle\entity\*)和参数名 public function filterNameFilter($entity, $parameter) {} 我想做的是在$entity上输入一个类型,它将是Appbundle\entity中的一个类(可以是任意类型),并让Symfony猜测它是哪一个 有可能吗?我相信这与Symfony无关,而是与PHP的弱类型性质有关 一种处理方法是让函数能够通过ins
此细枝扩展接受为参数en entity object
(\AppBundle\entity\*)
和参数名
public function filterNameFilter($entity, $parameter) {}
我想做的是在$entity
上输入一个类型,它将是Appbundle\entity
中的一个类(可以是任意类型),并让Symfony猜测它是哪一个
有可能吗?我相信这与
Symfony
无关,而是与PHP
的弱类型性质有关
一种处理方法是让函数能够通过instanceof
检查其类型,但这被认为是一种反模式,因为每次决定添加需要这种处理的新类时,都需要重新调整此函数
另一种可能处理此问题的方法是标识公共接口,并让该命名空间中的所有类实现它。这样,在细枝扩展中可以指定接口类型提示。这是否可行实际上取决于您想要实现的目标
希望这能给大家带来一些启发。我也想到了
的instanceof
,但它不会有问题,除非更新,否则无法在任何地方使用该函数。至于实现一个接口。。。xmmm。。。我会仔细考虑的,谢谢。