为什么重定向到控制器提示没有定义
1. 运行环境
1). 当前使用的 Laravel 版本?
Laravel v8.83.15
2). 当前使用的 php/php-fpm 版本?
PHP 版本:7.3.4
3). 当前系统
Windows 11
4). 业务环境
开发环境
2. 问题描述?
TaskController.php:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class TaskController extends Controller
{
public function test(){
return 'test';
}
}
route\web.php:
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\TaskController;
Route::get('/', function () {
return view('welcome');
});
// 报错,提示未定义。
Route::get('test', function(){
return redirect()->action([TaskController::class,'test']);
});
// Route::get('task', [TaskController::class,'test']);
InvalidArgumentException
Action App\Http\Controllers\TaskController@test not defined.
跟着文档来的,为啥会报错?laravel.p2hp.com/cndocs/9.x/respons...
把那行路由注释打开就行了

Route::get('task', [TaskController::class,'test']);
报错位置,
actionList
中App\Http\Controllers\TaskController@test
不存在而
action
是定义路由的时候添加到actionList
中的打印
actionList
是重定向
action
,你必须要先注册一个action