类App/Http/Controllers/View Not Found错误

use*_*908 31 laravel-5

我是laravel 5的新手,目前被这个错误所困扰:

FatalErrorException in TicketController.php line 18: Class 'App\Http\Controllers\View' not found
Run Code Online (Sandbox Code Playgroud)

奇怪的是视图确实存在,我检查路由是否确实路由到正确的控制器,它是,当我尝试这样做时错误弹出:

return View::make('tickets.bus.index');
Run Code Online (Sandbox Code Playgroud)

我要么在某处犯错,要么实施与laravel 4不同

luk*_*ter 86

问题不是实际观点而是课程 View.你会看到当你只引用像View::make('tickets.bus.index')PHP 这样的类来搜索当前命名空间中的类时.

在这种情况下App\Http\Controllers.但是,View该类显然不存在于控制器的命名空间中,而是存在于Laravel框架命名空间中.它还有一个位于全局命名空间中的别名.

您可以通过添加反斜杠来引用根命名空间中的别名:

return \View::make('tickets.bus.index');
Run Code Online (Sandbox Code Playgroud)

或者在顶部添加一个import语句:

use View;
Run Code Online (Sandbox Code Playgroud)

  • @musicliftsme绝对`使用View`.或者甚至是`view()`辅助函数. (4认同)

the*_*inX 20

在Laravel 5.1中,正确的use代码是:

use Illuminate\Support\Facades\View;


Ben*_*son 9

存在一个辅助函数,view()它位于全局命名空间中,可用于简化语法:

return view('tickets.bus.index');

使用该方法,不必包括use View;或包括根名称空间,例如,\View.

即使您选择使用辅助函数,lukasgeiter解释的概念对于理解Laravel也是必不可少的.