class 在中间件方法中找不到名称 - Laravel 5
class name not found in middleware method - Laravel 5
我正在尝试设置中间件。
我遵循了这些说明:
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:
Class 'App\Http\Middleware\App\Number' 未找到
在模型中,当我定义关系时,我使用 App\Number 并且效果很好。
在中间件方法中使用 Classes 的正确方法是什么?
正如@Quasdunk 在评论中指出的那样,当您在开头引用不带反斜杠的 class 时,路径是 relative.
意思是 App\Number
将在当前命名空间中查找 App
,然后是 Number
。
App\Http\Middleware & App\Number => App\Http\Middleware\App\Number
你只需要在开头添加一个 \
路径将被解释为 absolute 实际上并不重要 来自哪里 您正在使用 class
App\Http\Middleware & \App\Number => App\Number
Foo\Bar & \App\Number => App\Number
如果您希望代码更简洁一些,您还可以使用 use
语句导入 class:
use App\Number;
class LoadVars {
// ...
$comingevents = Number::where('item','events')->get(array('quantity'));
// ...
}
注意 use
语句不需要反斜杠。所有路径都是绝对路径。
我正在尝试设置中间件。 我遵循了这些说明:
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: Class 'App\Http\Middleware\App\Number' 未找到
在模型中,当我定义关系时,我使用 App\Number 并且效果很好。
在中间件方法中使用 Classes 的正确方法是什么?
正如@Quasdunk 在评论中指出的那样,当您在开头引用不带反斜杠的 class 时,路径是 relative.
意思是 App\Number
将在当前命名空间中查找 App
,然后是 Number
。
App\Http\Middleware & App\Number => App\Http\Middleware\App\Number
你只需要在开头添加一个 \
路径将被解释为 absolute 实际上并不重要 来自哪里 您正在使用 class
App\Http\Middleware & \App\Number => App\Number
Foo\Bar & \App\Number => App\Number
如果您希望代码更简洁一些,您还可以使用 use
语句导入 class:
use App\Number;
class LoadVars {
// ...
$comingevents = Number::where('item','events')->get(array('quantity'));
// ...
}
注意 use
语句不需要反斜杠。所有路径都是绝对路径。