Php 在setter方法中void和self有什么区别
我开始使用ORM映射系统 在setter函数中,void和self有什么区别 无效Php 在setter方法中void和self有什么区别,php,Php,我开始使用ORM映射系统 在setter函数中,void和self有什么区别 无效 /** * @param string|null $firstname */ public function setFirstname(?string $firstname): void { $this->firstname = $firstname; } 及 自我 /** * @param string|null $firstname */ public function setFirstnam
/**
* @param string|null $firstname
*/
public function setFirstname(?string $firstname): void
{
$this->firstname = $firstname;
}
及
自我
/**
* @param string|null $firstname
*/
public function setFirstname(?string $firstname): self
{
$this->firstname = $firstname;
return $this
}
无效的
void
表示该方法不返回任何内容。(). 从文件中:
引入了void返回类型。以void作为返回类型声明的函数必须完全忽略其返回语句,或者使用空的返回语句。NULL不是void函数的有效返回值
自己
self
表示方法返回类实例(用于方法链接等)。这意味着您可以像这样使用该类:
$class->setFirstname('Foo')->setLastname('Bar');
如果查看这两个方法,您会发现带有void
的方法不包含任何return
-语句,而第二个方法具有return$this
注意:正如@simon.ro在原始问题下的评论中提到的:
只是要明确指出:无论是问题还是答案都不局限于实体主义。self和void返回类型提示是php的语言特性
@MagnusEriksson这可以作为答案发布,只是为了明确说明:问题和答案都不以任何方式局限于条令实体
self
和void
返回类型提示是php的语言特性。