Laravel文档清楚地描述了如果将控制器嵌套在文件夹中,如何更改路径。这看起来非常简单,但我仍然遇到错误。这是错误:
“Class App \ Http \ Controllers \ Input \ InputController不存在”
^该路径对我来说100%正确。是什么给了什么?
文件结构:
-Controllers
--auth
--input
--- InputController.php
路线:
Route::get('input', 'Input\InputController@getInput');
InputController:
<?php namespace App\Http\Controllers;
use Illuminate\Http\Response;
class InputController extends Controller
{
public function getInput()
{
return response()->view('1_input.input_form');
}
}
感谢您的帮助!
答案 0 :(得分:3)
从
更改Controller名称空间namespace App\Http\Controllers
到
namespace App\Http\Controllers\Input
答案 1 :(得分:1)
您需要使用 App \ Http \ Controllers \ Contoller 来拉入Controller,以便扩展它。
{{1}}
答案 2 :(得分:0)
你应该尝试在你的终端(shell /提示符)的基础目录中运行几个命令:
composer dump-autoload
或者如果您没有将composer设置为可执行文件:
php composer dump-autoload
然后:
php artisan clear-compiled
这样你的laravel将“从头开始”再次准备一切,并且应该能够找到丢失的控制器类。
基本上laravel会生成一些额外的文件来更快地启动。如果您定义了一个新类,则它不会包含在该“已编译”文件中。这样你的类就应该“引入”框架。