我有这个结构:
class MyCollection extends BaseCollection
{
public function getEntityCLass() : string
{
return Item::class;
}
}
基本集合如下所示:
abstract class BaseCollection {
public function __construct(array $elements = array())
{
foreach ($elements as $entity) {
$this->add($entity);
}
}
}
这对我没有意义; getEntityClass应返回一个字符串,但返回Item :: class。
向班级发送数组有效但我老实说不知道为什么。有人在乎解释吗?
答案 0 :(得分:1)
Item::class
是为完整类提供字符串的简短方法,它不是方法或对象。
例如。
而不是Big\Massive\Long\Namespaced\ClassOfSomeSort
,只要您使用use语句导入该类,就可以说ClassOfSomeSort::class
将为您提供长字符串。