我正在尝试设置中间件。 我按照这些说明操作:
http://mattstauffer.co/blog/laravel-5.0-middleware-filter-style
我的代码是
<?php namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\RedirectResponse;
class LoadVars {
$comingevents = App\Number::where('item','events')->get(array('quantity'));
我收到了这个错误:
LoadVars.php第24行中的FatalErrorException: 未找到类'App \ Http \ Middleware \ App \ Number'
在我定义关系的模型中,我使用 App \ Number ,效果很好。
在中间件方法中使用Classes的正确方法是什么?
答案 0 :(得分:2)
正如@Quasdunk在评论中指出的那样,当您在开头引用没有反斜杠的类时,路径为 relative 。
含义App\Number
将在App
的当前命名空间中查找Number
。
App\Http\Middleware & App\Number => App\Http\Middleware\App\Number
您只需在开头添加\
,路径将被解释为绝对,实际上并不重要来自哪里你正在使用班级
App\Http\Middleware & \App\Number => App\Number
Foo\Bar & \App\Number => App\Number
如果您希望代码更清晰一些,您还可以使用use
语句导入该类:
use App\Number;
class LoadVars {
// ...
$comingevents = Number::where('item','events')->get(array('quantity'));
// ...
}
注意,使用use
语句,不需要反斜杠。所有路径都是绝对的。