php添加成功返回值,php – 多个返回值以指示成功/失败.

我有兴趣获得一些关于我从某个地方获取的技术的反馈.

当函数可以成功或失败时,我会使用它,但是您希望获得有关失败原因的更多信息.做同样事情的一种标准方法是使用异常处理,但我经常发现它有点超过这种情况,加上PHP4不提供此功能.

基本上,该技术涉及为成功返回true,而对于失败则等同于false.这是一个展示我的意思的例子:

define ('DUPLICATE_USERNAME', false);

define ('DATABASE_ERROR', 0);

define ('INSUFFICIENT_DETAILS', 0.0);

define ('OK', true);

function createUser($username) {

// create the user and return the appropriate constant from the above

}

这样做的好处在于,在您的调用代码中,如果您不关心用户创建失败的原因,您可以编写简单易读的代码:

if (createUser('fred')) {

// yay, it worked!

} else {

// aww, it didn't work.

}

如果您特别想检查它为什么不起作用(用于记录,显示给用户或做任何事情),请使用===的身份比较

$status = createUser('fred');

if ($status) {

// yay, it worked!

} else if ($status === DUPLICATE_USERNAME) {

// tell the user about it and get them to try again.

} else {

// aww, it didn't work. log it and show a generic error message? whatever.

}

我看待它的方式,其好处是,正常的期望是成功执行这样的函数将返回true,并且失败返回false.

缺点是你只能有7个“错误”返回值:false,0,0.0,“0”,null,“”和(object)null.如果您忘记使用身份检查,那么您的程序流程可能会出错.有人告诉我,使用像枚举这样的常量,它们都等于假是“ick”.

所以,重申一个问题:这样的做法有多接受?你会推荐一种不同的方式来实现同样的目的吗?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值