拉拉维尔中的返回类型提示.好主意还是坏主意?



我用phpstan(https://github.com/phpstan/phpstan(分析了我的Laravel项目。最常见的抱怨之一是关于没有返回类型提示的方法,我认为这是有效的抱怨。所以我想我会开始向我的控制器方法添加类型提示(即public function index(): View(。它们中的大多数返回 Illuminate\View\View 或 Illuminate\Http\RedirectResponse。

问题:

  1. 这甚至是一个好主意吗?我认为它通常会使事情更清晰,但返回类型提示在 Laravel 文档中的任何地方都没有使用。也许这不是好的做法?
  2. 我的大问题是一些返回 or 的方法。例如,如果用户已登录,则返回视图,否则返回重定向响应。如何为这些方法返回类型提示?

我第二次@Alex Karshin评论。

泰勒·奥特威尔(Taylor Otwell(在一份提案中明确表达了他的观点,即键入提示所有可以键入暗示的内容。

我个人喜欢在任何地方使用类型提示,例如定义方法和函数的属性或参数,或者作为返回类型。例如,Spatie或BeyondCode也使用它们。

目前,PHP 不允许联合类型提示,但将在 PHP 8 中。在它发布之前,您可以使用DocBlocks:

/**
* @var string|int
*/
protected $property;

最新更新