【发布时间】:2018-06-09 19:59:26
【问题描述】:
我知道我不是第一个遇到这种问题的人。我已经阅读了有关 Stackoverflow 和其他来源的所有现有信息,但它无法解决我的问题,我总是会收到 ReflectionException Class App\Http\Middleware\xxx does not exist。
<?php
namespace App\Http\Middleware\xxx;
use Closure;
class xxx
{
public function handle($request, Closure $next)
{
return $next($request);
}
}
不开玩笑,这真的是我的课。我已将其重命名为 xxx 以避免拼写错误。
我所有的路由都会通过web和admin中间件:
Route::middleware(['web', 'admin'])->group(function() {
这是我的/app/Http/Kernel.php:
protected $middlewareGroups = [
'web' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
// \Illuminate\Session\Middleware\AuthenticateSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class,
\App\Http\Middleware\xxx::class,
],
- 文件名为
xxx.php,位置为App\Http\Middleware\。 - 命名空间正确
- composer dump-autoload 无法解决问题
我也尝试修改我的composer.json:
"autoload": {
"classmap": [
"database/seeds",
"database/factories",
"App/Http/Middleware/xxx.php"
],
导致以下警告:
Warning: Ambiguous class resolution, "App\Http\Middleware\xxx\xxx" was found in both "$baseDir . '/app/Http/Middleware/xxx.php" and "/code/App/Http/Middleware/xxx.php", the first will be used.
【问题讨论】: