【发布时间】:2012-03-06 08:20:42
【问题描述】:
我是在PHP工作的(但在这种情况下我认为编程语言无关紧要),而在我的类方法中我通常会遇到以下情况:
- 方法必须返回 true 或 false
- 方法必须返回 true 或 错误信息
- 方法必须返回 true + 成功消息 或 false + 错误消息
- 方法必须返回 true + 成功结果(对象、数组等) 或 false
- 方法必须返回true + 成功结果(对象、数组等) 或false + 错误信息
- 等
我的问题是,当我在代码中的某个地方使用此类方法时,我总是必须回到该类,并检查实际返回的方法是什么:只需 true 或 false、true或错误信息等
标准化返回值是个好主意吗?如果是,怎么做?
我的想法是:
- 如果函数必须返回 true 或 false 则只需返回 true 或 false
-
如果函数必须返回 true 或 错误信息 那么:
if (success) { return array( TRUE, null ); } else { return array( FALSE, $error_message ); } -
如果函数必须返回 true + 成功消息 或 错误消息 那么:
if (success) { return array( TRUE, $success_message, ); } else { return array( FALSE, $error_message ); } 等
我希望你们理解我的问题,即使我的解释不太好 :) 您有什么建议或最佳实践?我该如何处理?
更新: 举个简单的例子:
function login($username, $password)
{
// Login logic here ..
if ($logged_in)
{
return TRUE;
}
{
return $error_message;
}
}
所以正确的做法是:返回true,或者抛出异常,并且在调用登录方法时使用try catch。因此,当出现问题(验证失败等)时,我应该使用异常。
【问题讨论】:
-
这个问题不太适合这个网站,可能会被关闭。请查看FAQ 以了解有关在此处提出何种问题的更多信息。 Stackoverflow 并不是真正的意见或建议。
-
我正在寻找一种在这种情况下有效的“最佳实践”。我需要一个“模式”来使用..这是一个问题,我正在寻找解决方案。我不需要意见。我需要一个有效的解决方案。我认为其他人也遇到了类似的效率问题,一个好的解决方案也可以帮助他们。
标签: php