【发布时间】:2021-01-28 01:05:50
【问题描述】:
我在访问通过终端创建的控制器时遇到问题:
php artisan make:controller Admin\TestController
这是我创建的 TestController 类
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
class TestController extends Controller
{
public function teste()
{
return 'Teste Controller';
}
}
这是路由文件,我将尝试在其中调用teste 方法。默认情况下,正确的做法是调用 Admin 文件夹中的 TestController。
<?php
use Illuminate\Support\Facades\Route;
Route::get('/test', 'Admin\TestController@teste');
在我更新页面时的Web.php文件中,出现消息:
Illuminate\Contracts\Container\BindingResolutionException Target class
[Admin\TestController] does not exist.
只有在我放置完整目录时才有效:
<?php
use Illuminate\Support\Facades\Route;
Route::get('/test', 'App\Http\Controllers\Admin\TestController@teste');
但出于精简代码和易于理解的原因,我不想放置完整的目录。
如何在不放置完整目录的情况下调用 TestController?
我正在使用 Laravel 框架:8.9.0
我正在使用 php:7.2.19 (cli)
【问题讨论】: