Функция промежуточного программного обеспечения не существует - PullRequest
0 голосов
/ 04 сентября 2018

В моем web.php у меня есть маршрут

Route::get('summary_average_fee', 'Summary@AverageFee')->middleware('CheckParams@dateLimits');

Я пытаюсь сослаться на функцию dateLimits в классе CheckParams

Мой класс CheckParams, сохраненный как CheckParams.php в папке Middleware

<?php

namespace App\Http\Middleware;

use Closure;

class CheckParams
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function dateLimits($request, Closure $next)
    {
        isEmpty($request->input('startDate'), 'NO_START_DATE');
        isEmpty($request->input('endDate'), 'NO_END_DATE');

        return $next($request);
    }

    private function isEmpty($value, $error, $status)
    {
        if(empty($value))
        {
            return response()->json($error, 422);
        }
    }
}

В файле kernal.php я добавляю это в массив routeMiddleware

'CheckParams' => \App\Http\Middleware\CheckParams::class

Когда он запускается, я получаю сообщение об ошибке, что Class CheckParams @ dateLimits не существует

1 Ответ

0 голосов
/ 04 сентября 2018

Мне кажется, что ваше промежуточное ПО следует переписать и обновить использование:

use App\Http\Middleware\CheckParams;

Route::get('summary_average_fee', 'Summary@AverageFee')->middleware(CheckParams::class);

Middleware:

namespace App\Http\Middleware;

use Closure;

class CheckParams
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        $this->isEmpty($request->input('startDate'), 'NO_START_DATE');
        $this->isEmpty($request->input('endDate'), 'NO_END_DATE');

        return $next($request);
    }

    private function isEmpty($value, $error, $status)
    {
        if(empty($value))
        {
            return response()->json($error, 422);
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...