Представьте, что у меня есть PostController
следующим образом:
class PostsController extends \App\Http\Controllers\Controller
{
public function store(Request $request) {
$newClass = new myNewClass();
$newClass->check();
// ...
// continue to store the post
// ...
}
}
Теперь я хочу, чтобы $newClass->check()
прекратил действие, если что-то проверяется. это всего лишь пример кода, и поведение упомянутых методов больше, чем просто.
в моем методе проверки у меня есть:
class MyNewClass
{
public function check() {
// I want to send the response directly from here
// but it doesn't work
// I tried:
// return response()->json(['error' => 'auth error'], 403);
// the line above is not working, that's all I want
// NOTE: abort(403) works here
// NOTE: dd('xxxxx') works here
// but response() doesn't
}
}
Я могу это исправить, вернув значение в моем PostsController
:
return $newClass->check();
Но это всегда останавливает метод store и возвращает.
Как мне этого добиться?
P.S .: Я хочу отправить ответ JSON в своем методе check()
, я не хочу эту логику в моем контроллере, и именно поэтому я делаю это.