问题描述
我在使用类型控制器时遇到问题。 用php artisan make:controller -i创建控制器并添加路由后,转到该路由时,它告诉我Invoke函数不存在。
这是我使用的路线:
Route::get('/portfolio','PortfolioController');
这是控制器的代码:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class PortfolioController extends Controller
{
public function __invoke(Request $request)
{
/** @var array $portafolio */
$portafolio = [
["title" => "Proyecto #1"],["title" => "Proyecto #2"],["title" => "Proyecto #3"],["title" => "Proyecto #4"],];
return view("portfolio",compact("portafolio"));
}
}
我真的不知道为什么会发生此错误,因为invoke函数显然在那儿,所以如果有人知道可能是什么问题,我将非常感激。 我正在使用Laravel的最新版本。
解决方法
您需要使用documentation中的完全限定的类名:
use App\Http\Controllers\PortfolioController;
Route::get('/portfolio',PortfolioController::class);