Php 从laravel中间件调用控制器方法
在我的base controller.php中有一个方法,可以根据我的喜好格式化所有响应Php 从laravel中间件调用控制器方法,php,laravel,laravel-5,jwt,Php,Laravel,Laravel 5,Jwt,在我的base controller.php中有一个方法,可以根据我的喜好格式化所有响应 public function sendError($error, $errorMessages = [], $code = 404) { $response = [ 'success' => false, 'message' => $error, ]; if (!empty($errorMessages)) { $res
public function sendError($error, $errorMessages = [], $code = 404)
{
$response = [
'success' => false,
'message' => $error,
];
if (!empty($errorMessages)) {
$response['data'] = $errorMessages;
}
return response()->json($response, $code);
}
如果我从另一个控制器调用它,我只需调用
return $this->sendError('Validation Error', $validator->errors(), 400);
但我也在为我的JWT身份验证使用中间件。除了重新编写方法,还有什么方法可以从中间件内部调用此控制器方法吗?通过创建控制器在中间件中尝试此方法
return (new yourChildController)->sendError('xyz errro',[],400)
通过创建控制器,在中间件中尝试此方法
return (new yourChildController)->sendError('xyz errro',[],400)
也许您可以使用
app(YourControllerNameHere::class)
构建控制器实例,并使用call\u user\u func\u array
return(new yourChildController)->senderro('xyzerro',[],400)创建的实例controller@JigneshJoisar这已经奏效了,您是否有可能添加一个答案,以便我可以接受?可能的副本可能是您可以使用app(YourControllerNameHere::class)
构建控制器实例,并使用call\u user\u func\u array
return(new yourChildController)->senderro('xyzerrro',[],400)调用该方法
创建的实例controller@JigneshJoisar这已经奏效了,您是否有可能添加一个答案,以便我可以接受?可能的副本