控制器 Class 存在但未找到
Controller Class Exists But Not Found
由于某种原因,目标控制器 class 未找到,即使它已经存在于正确的路径中。
路线
Route::post('/send', 'MailController@send');
我的控制器路径是App->Http->Controllers
这是我的控制器:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Mail;
use App\Mail\SendMail;
class MailController extends Controller{
function index() {
...
}
function send(Request $request) {
...
}
}
我已经尝试过 composer dump-autoload。我使用的是 laravel 框架 8.0,所以我也尝试还原并使用 7.24。仍然找不到目标 class。
在Laravel 8中,值为App\Http\Controllers
的$namespace
属性默认设置为null,所以需要定义:
变化:
Route::post('/send', 'MailController@send');
到,
use App\Http\Controllers\UserController;
Route::post('/send', [MailController::class, 'send']);
或者,使用字符串语法:
Route::get('/users', 'App\Http\Controllers\MailController@send');
lagbox 提供了一个细节。
由于某种原因,目标控制器 class 未找到,即使它已经存在于正确的路径中。
路线
Route::post('/send', 'MailController@send');
我的控制器路径是App->Http->Controllers
这是我的控制器:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Mail;
use App\Mail\SendMail;
class MailController extends Controller{
function index() {
...
}
function send(Request $request) {
...
}
}
我已经尝试过 composer dump-autoload。我使用的是 laravel 框架 8.0,所以我也尝试还原并使用 7.24。仍然找不到目标 class。
在Laravel 8中,值为App\Http\Controllers
的$namespace
属性默认设置为null,所以需要定义:
变化:
Route::post('/send', 'MailController@send');
到,
use App\Http\Controllers\UserController;
Route::post('/send', [MailController::class, 'send']);
或者,使用字符串语法:
Route::get('/users', 'App\Http\Controllers\MailController@send');
lagbox 提供了一个细节