什么是 `public function view(): View` in Laravel 中的 `: View`?

What is `: View` in `public function view(): View` in Laravel?

在laravel中,我找到了: View,但我无法完全理解。

<?php

namespace App\Exports;

use App\Models\User;
use Illuminate\Contracts\View\View;
use Maatwebsite\Excel\Concerns\FromView;

class Export implements FromView
{
    

    /**
    * @return \Illuminate\Support\View
    */
    public function view(): View
    {
        return User::all();
    }
}

如果有人能解释一下,那就太感谢了。

它是一个 PHP return type declaration 指定函数应该 return 的值类型。

因此,在您的示例中,函数的定义是 returns 的值类型是实现 Illuminate\Contracts\View 接口的 class 的实例。如果你尝试 return 一个没有实现 Illuminate\Contracts\View 的值,那么你会得到一个错误。

这定义了自 PHP 7.0 以来添加的“Return 类型声明”(此方法应该 return 具有类型“View”的对象)。此外,如果 returned 值无法转换为指定类型,PHP 会抛出错误;