Class App/Http/Controllers/View 未找到错误

Class App/Http/Controllers/View Not Found error

我是 laravel 5 的新手,目前被这个错误难住了:

FatalErrorException in TicketController.php line 18: Class 'App\Http\Controllers\View' not found

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

return View::make('tickets.bus.index');

要么我在某处犯了错误,要么实施与 laravel 4

不同

问题不在于实际视图,而在于 class View。你会看到当你只是引用一个 class 比如 View::make('tickets.bus.index') PHP 在你的 current namespace.[=16= 中搜索 class ]

在本例中为 App\Http\Controllers。但是 View class 显然不存在于控制器的命名空间中,而是存在于 Laravel 框架命名空间中。它还有一个位于 global 命名空间中的别名。

您可以通过在根命名空间前加上反斜杠来引用别名:

return \View::make('tickets.bus.index');

或在顶部添加导入语句:

use View;

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

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

使用此方法,无需包含 use View; 或包含根命名空间,例如 \View.

lukasgeiter 解释的概念对于理解 Laravel 至关重要,即使您选择使用辅助函数也是如此。

对我来说这是命名空间问题。我使用 php artisan 来创建控制器,但似乎 php artisan 使用了不同的命名空间(可能我必须更改 composer.json 中的某些内容来修复它,但我在 laravel)

Whoops, looks like something went wrong. FatalErrorException in PagesController.php line 11: Class 'App\Http\Controllers\Controller' not found 很好,我正在使用 phpStorm,它会自动插入适当的命名空间

确保正确检查命名空间。这就是我用 php artisan

创建控制器的方式

    namespace App\Http\Controllers;
    use App\Http\Requests;
    use App\Http\Controllers\Controller; //php artisan inserted.
    class PagesController extends Controller
    {
        public function index(){
            return view('index');
        }
        public function about(){
            return view('pages.about');
        }
    }

这就是我手动写扩展控制器

后插入的phpstorm

    namespace App\Http\Controllers;
    use App\Http\Requests;
    use Illuminate\Routing\Controller; //I manually wrote extends Controller and selected this namespace 

    class PagesController extends Controller
    {
        public function index(){

     ...

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

use Illuminate\Support\Facades\View;

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

return 查看('tickets.bus.index');

With this method, it is unnecessary to include use View; or include the root namespace, e.g., \View.

lukasgeiter 解释的概念对于理解 Laravel 至关重要,即使您选择使用辅助函数也是如此。