Php 拉威尔5级';App\Http\Controllers\Category';找不到

Php 拉威尔5级';App\Http\Controllers\Category';找不到,php,laravel-5,Php,Laravel 5,伙计们在学习拉雷维尔的图茨教程,因为我已经安装了拉雷维尔5,有几个错误正在抛出 代码 public function getIndex() { return View::make('categories.index') ->with('categories', Category::all()); } 此函数引发两个错误 Class 'App\Http\Controllers\Category' not found Class 'App\Ht

伙计们在学习拉雷维尔的图茨教程,因为我已经安装了拉雷维尔5,有几个错误正在抛出

代码

public function getIndex() {
        return View::make('categories.index')
            ->with('categories', Category::all());
    }
此函数引发两个错误

Class 'App\Http\Controllers\Category' not found
Class 'App\Http\Controllers\views' not found
我知道这是因为Laravel 5中的名字间距不同。对于我试图添加的第二个错误

在文件开头使用视图
,但它找不到视图。有人能告诉我这些文件所在的目录吗


谢谢

这两个都不在您的控制器中。视图类是照明的一部分,另一个很可能是您创建的类模型

在php文件中使用新类时,必须包含它或
使用它

您最有可能为您的类别类执行此操作的方式是“

使用App\Category
可以解决这个问题

查看一个只会稍微困难一点。如果使用IDE,可以导入更容易的类,则不必记住名称空间/类名。但是,如果不记住名称空间/类名,则需要知道使用哪一个以及何时使用。在这种情况下,需要执行以下操作:

使用视图
这应该可以解决这个问题

因此,在声明上方和命名空间下方的控制器中,必须放置use调用

<?php namespace App\Http\Controllers

// I'm removing this because there is a way not to even have to use this...
// use View;
use App\Category;

class YourController extends Controller {
    ...
}


消除了混淆类的混乱。

在文件顶部
名称空间
声明下方添加以下内容

use Illuminate\Support\Facades\View;
use App\Category;

在应用方法
调用未定义的方法illumb\View\View::make()之后
按照其余的说明进行操作。就像我说的,在这方面有一些问题。因此,这意味着外观是正确的,但这不是最好的方法。我还将编辑我的答案,删除另一个,以避免混淆。如果你使用外观,只需使用视图就足够了。谢谢你,本,你是对的。我忘了这是一个选项。@CayceK这起作用了,
使用App\categories\u table;使用illumb\View\View;
在哪里定义了您的
Category
类。我假定它是在
App
目录中定义的,带有
命名空间App;
return view('categories.index', ['categories' => Category::all()]);
    or
return view('categories.index')->with('categories',Category::all())
use Illuminate\Support\Facades\View;
use App\Category;