返回复杂函数响应

时间:2017-12-18 18:35:51

标签: php

如何在调用API调用时创建一个向上返回应用程序代码和响应消息的通用和通用系统?

例如,我在User中有user.php个班级。从我的应用程序的最高级别开始,我们可以说app.php我们可以调用

$user = new User();
$user->register($params);

在此过程中大约有10件事可能出错:

  • 用户已存在
  • 无效参数
  • 等。

我不想只返回0或1,我也希望来电者知道出了什么问题。这是一些想法

  1. 例外,我非常讨厌..
  2. 返回数组响应,即['result'=>0, 'reason'=>'not unique']
  3. 这样做的标准方法是什么?

1 个答案:

答案 0 :(得分:2)

您询问了标准处理此类事情的方法。通常,处理这类错误的最佳方法是使用例外,尽管你不喜欢它们。通过使用异常,当您添加新类型的失败条件时,您可以在界面的每一侧(方法和调用者)上做更少的工作。您可以获得更易于维护且更具弹性的代码。它的性能也更高:异常会带来性能成本,但只有在你提高它们时才会有效。

您返回数组或对象的方法也没问题。但是,当您添加新条件时,您必须调整界面的两侧。

在这里的php手册中有一篇关于这篇文章的文章。 http://php.net/manual/en/functions.returning-values.php