Я пытаюсь настроить промежуточное ПО.
Я следовал этим инструкциям:
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'));
Я получил эту ошибку:
FatalErrorException в строке LoadVars.php 24:
Класс ‘App \ Http \ Middleware \ App \ Number’ не найден
В моделях, когда я определяю отношения, я использую App \ Количество и это работает хорошо.
Как правильно использовать классы внутри метода промежуточного программного обеспечения?
Как указал @Quasdunk прямо в комментариях, когда вы ссылаетесь на класс без обратной косой черты в начале, путь родственник.
Имея в виду 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
Заявление, что нет необходимости в обратном слэше. Все пути будут абсолютными.
Других решений пока нет …