【问题标题】:Is it possible to return a response and call a function together with it in Laravel?是否可以在 Laravel 中返​​回响应并与其一起调用函数?
【发布时间】:2019-04-24 17:37:58
【问题描述】:

我正在尝试通过我的 API 函数返回响应,它工作得很好。但是,现在,我正试图在同一个控制器中执行一个公共函数,同时也返回一个响应。这可能吗?

return response()->json($success);

但我想要的是把上面的响应和这个一起发送;

return $this->sendSMS($data);

($data) 已经预定义。

有没有办法做到这一点?

【问题讨论】:

  • 所以sendSMS() 也产生输出? return response()->json(array_merge($success, $this->sendSMS($data));。你不能在这里施展黑魔法,这很简单。

标签: php laravel


【解决方案1】:

为什么不直接将其添加到数据中?

$dataWithResponse = compact('data', 'response');
try {
    $this->sendSMS($dataWithResponse);
} catch(/Exception $e) {
    // Somehow handle exception
    echo $e->getMessage();
    return response()->json($success);
}
return response()->json($success);

【讨论】:

  • 我担心的是,如果 sendSMS 函数出现故障,我的 main 函数将不会给出响应。但除了那种恐惧/担忧之外,这实际上是最好的解决方案。
  • @UdhayanNair,我修改了我的代码,向您展示了处理异常的基本方法。但最好看看php.net/manual/en/language.exceptions.php 如果这个答案有用,请接受它
  • 嘿,我认为除了例外,它工作得很好。我应该考虑到这一点。但是,是的,它现在运行良好!谢谢队友:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-03
  • 2017-06-24
  • 1970-01-01
  • 2022-12-04
  • 2021-10-02
相关资源
最近更新 更多