【发布时间】:2015-03-27 12:39:59
【问题描述】:
我正在处理一个由 Doctrine 管理的实体的 Symfony 项目。以下是我的实体的代码:
class User {
/**
* @ORM\OneToMany(targetEntity="Appointment", mappedBy="user")
*/
private $appointments;
/**
* Get appointments
*
* @return \Doctrine\Common\Collections\ArrayCollection
*/
public function getAppointments()
{
return $this->appointments;
}
/**
* Get appointments at a specified date
*
* @param \DateTime $date
* @return \Doctrine\Common\Collections\Collection|static
*/
public function getAppointmentsAtDate(\DateTime $date) {
$allAppointments = $this->getAppointments();
$criteria = Criteria::create()->where(/* some clever filtering logic goes here */);
return $allAppointments ->matching($criteria);
}
}
getAppointments 是由 Doctrine 自动生成的。 getAppointmentsAtDate 方法是我自己实现的。该方法的 PHPDoc 标头由 PhpStorm 自动生成。
我无法理解的是我的自定义方法的返回类型中的 static 关键字。
根据我对PHPDoc types 的理解,static 表示此方法返回调用它的类的实例,在本例中为User 实例。
但是,我看不出此方法如何返回 User 实例或 Collection 实例以外的任何内容。
那么static 关键字在这里是什么意思?我对关键字的理解有问题吗?还是 PhpStorm 的自动生成的文档标题完全错误?
【问题讨论】:
标签: php symfony doctrine-orm phpstorm phpdoc