Laravel 中调用类型控制器出错
Error with Invoke type controller in Laravel
我在调用类型控制器时遇到问题。
在我使用 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"));
}
}
我真的不明白为什么会出现这个错误,因为调用函数显然在那里,所以如果有人知道可能是什么问题,我将非常感激。
我使用的是 Laravel.
的最新版本
您需要使用完全限定的 class 名称,如 documentation:
use App\Http\Controllers\PortfolioController;
Route::get('/portfolio', PortfolioController::class);
我在调用类型控制器时遇到问题。 在我使用 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"));
}
}
我真的不明白为什么会出现这个错误,因为调用函数显然在那里,所以如果有人知道可能是什么问题,我将非常感激。 我使用的是 Laravel.
的最新版本您需要使用完全限定的 class 名称,如 documentation:
use App\Http\Controllers\PortfolioController;
Route::get('/portfolio', PortfolioController::class);