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

时间:2018-05-25 11:29:46

标签: php

我有这个结构:

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。

向班级发送数组有效但我老实说不知道为什么。有人在乎解释吗?

1 个答案:

答案 0 :(得分:1)

Item::class是为完整类提供字符串的简短方法,它不是方法或对象。

例如。

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