【问题标题】:Laravel 6 Controller Error - Target class [App\Http\Controllers\TestContoller] does not existLaravel 6 控制器错误 - 目标类 [App\Http\Controllers\TestContoller] 不存在
【发布时间】:2020-03-27 03:46:40
【问题描述】:

我已经阅读了这个问题的几个答案,但没有一个适用于我的情况,因为我的路线非常简单。

这是控制器代码(使用 aritsan:make 创建的控制器): listapp/app/Http/Controllers/TestController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class TestController extends Controller
{

    public function test () {
        return view('lookma');
    }
}

这里是网络路由文件: listapp/routes/web.php


<?php

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/

Route::get('/', function () {
    return view('welcome');
});

Route::get('/lookma', 'TestContoller@test');

我尝试过的事情: - 寻找错别字或未封闭的外壳 - 清除缓存 - 运行转储自动加载 - 将命名空间从 App 更改为 app,以防是外壳问题

我不确定为什么会出现这个问题,因为一切似乎都匹配。我正在运行 Xubuntu 19.04 和 PHP 7.4

【问题讨论】:

  • 您的路线中有错字:TestContoller 应该是 TestController
  • 在你的路由定义中很容易漏掉拼写错误,它说是 TestContoller@test 而不是 TestController
  • 您的代码中有错字。检查TestContoller@test 的拼写。我认为应该是 TestController@test
  • 这应该被关闭,因为它只不过是一个错字

标签: php laravel controller


【解决方案1】:

我认为您在路线定义中遗漏了一个字母

它必须是TestController 而不是TestContoller。这是正确的:

Route::get('/lookma', 'TestContoller@test');

【讨论】:

    【解决方案2】:

    错别字。您可以复制以下行

    Route::get('/lookma', 'TestController@test');
    

    【讨论】:

      猜你喜欢
      • 2020-06-24
      • 2020-05-01
      • 2020-06-18
      • 2020-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-12
      • 2020-11-03
      相关资源
      最近更新 更多