【发布时间】:2021-04-03 14:07:32
【问题描述】:
尽管浏览了几篇类似的帖子,但无法调试这个简单的路由问题。
TestController不可调用。控制器类 TestController 是不可调用的。您是否忘记添加 __invoke 方法或者是 您的路由文件中缺少控制器的方法?
我在 Stack 上玩过尽可能多的排列,但没有任何改变。我已经确认了简单的路由,即:
Route::get('/', function () {
return view('welcome');
});
工作,但我无法让控制器工作。我已经清除了缓存并取消了 $namespace 的注释,没有任何区别。事实上,错误消息似乎没有改变,这让我相信这不是路由,而是与控制器有关。但我是新手,没看到。
来自 web.php:
Route::get('/test', TestController::class);
TestController.php:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class TestController extends Controller {
public function __invoke() {
return view('welcome');
}
}
【问题讨论】:
-
将您的代码与文档进行比较我看到您导入但有“使用 Illuminate\Http\Request”(未使用)但没有“使用 App\Http\Controllers\Controller”。我似乎是不必要的,但试试吧。另一种选择是使用工匠命令“php artisan make:controller TestController --invokable”生成该控制器并与您的代码进行比较。
-
composer du之后可以吗?
标签: php laravel routes controller