无法在PHP中构建静态调用的类

无法在PHP中构建静态调用的类,php,Php,我有这样的结构: class MyCollection extends BaseCollection { public function getEntityCLass() : string { return Item::class; } } 基本集合如下所示: abstract class BaseCollection { public function __construct(array $elements = array()) {

我有这样的结构:

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


向类发送数组是有效的,但我真的不知道为什么。有人想解释一下吗?

Item::class
是为整个类指定字符串的一种简单方法,它不是方法或对象

比如说

而不是
Big\Massive\Long\Namespaced\ClassOfSomeSort
,只要您使用use语句导入了该类,就可以说
ClassOfSomeSort::class
,这将为您提供长字符串