Doctrine 集合的文档块
2022-08-30 18:39:16
是否有一种标准方法可以在 Doctrine 项目的 docblock 注释中记录集合中预期的实体类?像这样:
/**
* @var Collection<User>
*/
protected $users;
看起来PHPDoc现在是docblock注释的事实标准,但我找不到这个用例的任何提及。
是否有一种标准方法可以在 Doctrine 项目的 docblock 注释中记录集合中预期的实体类?像这样:
/**
* @var Collection<User>
*/
protected $users;
看起来PHPDoc现在是docblock注释的事实标准,但我找不到这个用例的任何提及。
下面是一个解决方案,它使您能够在方法和对象方法上都具有自动完成功能:Collection
/**
* @param Collection|User[] $users
*/
public function foo($users)
{
$users-> // autocompletion on Collection methods works
foreach ($users as $user) {
$user-> // autocompletion on User methods work
}
}
它至少在PhpStorm中就像一个魅力。
有几种不同的方法来记录预期的变量。查看 phpDoc 文档,了解可用标签的完整列表。
class MyClass
{
/**
* Users collection
* @var \Doctrine\ORM\ArrayCollection
*/
protected $users;
/**
* My method that doesn't do much
* @param \Doctrine\ORM\ArrayCollection $users
* @return void
*/
public function myMethod(\Doctrine\ORM\ArrayCollection $users)
{
/** @var \Entities\Users $user */
$user = current($this->users);
}
}