缺少函数的返回类型声明 - 声明会降低效率

Rob*_*vis 2 php relationship laravel

在 php 类函数中包含返回类型声明有什么好处吗?这是否更好:

public function team_classes(): \Illuminate\Database\Eloquent\Relations\HasMany
{
    return $this->hasMany(TeamClass::class, 'activity_id', 'id');
}
Run Code Online (Sandbox Code Playgroud)

上面的比下面的更好吗?

public function team_classes()
{
    return $this->hasMany(TeamClass::class, 'activity_id', 'id');
}
Run Code Online (Sandbox Code Playgroud)

如果是这样,它只是为了程序员的眼睛还是会提高效率/速度?

And*_* H. 5

建议添加返回类型声明,但不是强制的。它为您提供高级 IDE 自动完成和类型兼容性支持。

例如,如果您的关系没有类型声明,您的 IDE 很可能不会为您提供关系方法。

您可能想要选择使用类型的另一个原因是运行时类型检查。尝试在上面的示例中添加不正确的返回类型(而不是使用其他类型返回 HasMany 类型)。每当您使用该方法时,都会引发异常。

至于速度:它几乎不会影响您的应用程序。你可以在网上找到类型提示比较,但据我观察,差异约为 2-5 毫秒。

总体而言,这提供了更好的 IDE 支持和隐式类型声明,使开发人员的工作更加轻松。