无法在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
,这将为您提供长字符串