Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 泛型类型函数参数_Php_Symfony_Doctrine Orm_Symfony 3.4 - Fatal编程技术网

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。。。我会仔细考虑的,谢谢。