由于某种原因,即使目标 Controller 类已经存在于正确的路径中,也找不到它。
路线
Route::post('/send', 'MailController@send');
我的 Controller 路径是App->Http->Controllers
这是我的 Controller :
<?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 Framework 8.0,所以我也尝试恢复并使用 7.24。仍然没有找到目标类。
最佳答案
在 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');
有一个细节answer由lagbox提供。
关于php - Controller 类存在但未找到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63867916/