php - Controller 类存在但未找到

标签 php laravel controller

由于某种原因,即使目标 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/

相关文章:

php - 如何将路由返回到 laravel 中的 View

asp.net - 使用 ASP.NET Web API 到多对多关系的 HTTP POST

javascript - 无法通过 ajax jQuery 将信息发送到 PHP 页面

php - 从 WooCommerce 中的订单项目中获取变体的自定义值

php - 在数据库中存储完整日期或仅一年

php - Laravel 4 中的事务和事件

asp.net-mvc-3 - 在 Controller 中从 MVC3 部分 View 访问模型数据,而不在 View 中显式传递它

php - 2 删除,只有一个工作 [POSTGRESQL]

mysql - Laravel DB 查询数组

php - Laravel (HasMany) 不检索值