这两个类都不在你的控制器中。View类是Illuminate框架的一部分,另一个可能是你创建的Model类。
当你在php文件中使用一个新类时,你必须包含它或者使用
use
。
对于你的Category类,你最有可能这样做:
use App\Category
,这应该解决了那个问题。
你的View类稍微复杂一些。如果你使用的IDE可以导入类,那么做起来就容易得多,这样你就不必记住命名空间/类名。但是,如果没有,你需要知道要使用哪个类以及何时使用它。在这种情况下,你需要这样做:
use View
,这应该解决了这个问题。
因此,在你的控制器声明之上和命名空间之下,你必须放置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 {
...
}
如我在评论中提到的,有更好的方式。你可以使用帮助函数
view()
来返回视图,而不用像您当前做法那样展示视图。
您只需要更改以下内容:
return View::make('categories.index')->with('categories', Category::all());
to
return view('categories.index', ['categories' => Category::all()]);
or
return view('categories.index')->with('categories',Category::all())
消除混淆的类错误。
view()
助手函数可以解决问题,但它并不能帮助 OP 弄清楚当前解决方案为什么不起作用,因此也无法帮助 OP 理解如何在将来使用其他类,比如没有助手函数的类。 - Ben Swinburneuse App\categories_table; use Illuminate\View\View;
- Vikram Anand Bhushan