Php 7.1. Ошибка возврата подсказки типа в Laravel 5.7 - PullRequest
0 голосов
/ 11 декабря 2018

Я только что клонировал репозиторий для проекта, над которым я работал.Не совсем помню особенности предыдущей машины, на которой он работал, но на этой он использует php 7.1, и я обновился до Laravel 5.7.Проблема заключается в том, что на моем предыдущем компьютере этот фрагмент кода работал:

class ProductsController extends Controller
{
    public function index() : Object
    {
        $products = Product::all();
        return view('products.index', ['products' => $products]);
    }
}

Уведомление Объект Тип возврата.

Послепри выполнении миграций и всего остального, при доступе к индексу я получаю следующую ошибку на новом компьютере:

Возвращаемое значение App \ Http \ Controllers \ ProductsController :: index () должно быть экземпляромApp \ Http \ Controllers \ Object, экземпляр Illuminate \ View \ View вернул

, что связано с подсказкой типа возвращаемого значения Object.Откуда я это знаю?Потому что, если я уберу его, все будет работать как шарм.

Почему это происходит?

1 Ответ

0 голосов
/ 12 декабря 2018

Итак, для всех, кто интересуется, я получил ответ из другого форума:

Сначала просто импортируйте класс:

use Illuminate\View\View;

, а затем используйте его в качестве возвращаемого типа:

/**
 * @return View
 */
public function index(): View
{
    $products = Product::all();

    return view('products.index', ['products' => $products]);
}
...