Memanggil metode pengontrol dari middleware laravel

Saya memiliki metode di controller.php dasar saya yang memformat semua tanggapan saya sesuai keinginan saya;

public function sendError($error, $errorMessages = [], $code = 404)
{
    $response = [
        'success' => false,
        'message' => $error,
    ];

    if (!empty($errorMessages)) {
        $response['data'] = $errorMessages;
    }

    return response()->json($response, $code);
}

Jika saya memanggilnya dari pengontrol lain, saya cukup menelepon saja

return $this->sendError('Validation Error', $validator->errors(), 400);

Tapi saya juga menggunakan middleware untuk JWT-Auth saya. Daripada menulis ulang metode ini, apakah ada cara untuk memanggil metode pengontrol ini dari dalam middleware?


person Community    schedule 04.10.2018    source sumber
comment
Mungkin Anda dapat membuat instance pengontrol menggunakan app(YourControllerNameHere::class), dan memanggil metode tersebut menggunakan call_user_func_array.   -  person krisanalfa    schedule 04.10.2018
comment
return (new yourChildController)->sendError('xyz errro',[],400) membuat instance pengontrol   -  person Jignesh Joisar    schedule 04.10.2018
comment
@JigneshJoisar berhasil, apakah ada kemungkinan Anda dapat menambahkan jawaban sehingga saya dapat menerimanya?   -  person    schedule 04.10.2018
comment
Kemungkinan duplikat Cara Memanggil pengontrol berfungsi di Kontroler lain di Laravel 5   -  person er.irfankhan11    schedule 04.10.2018


Jawaban (1)


coba yang ini di middleware dengan membuat pengontrol Anda

return (new yourChildController)->sendError('xyz errro',[],400)
person Jignesh Joisar    schedule 04.10.2018