方法返回值不一致

时间:2011-04-06 14:33:55

标签: php class-design

实际上,这是一个哲学问题。 这是我用PHP作为一种语言进行编程的一年,而众所周知,PHP对数据类型非常自由。 我想知道:鉴于此,允许方法返回不同类型的值是一个好习惯吗? 示例:我习惯于设置应该以默认值返回的变量(通常为false),如果在执行方法期间一切顺利,变量将获得成功执行的值。 免责声明:我尝试使用PHPDoc记录所有内容。

3 个答案:

答案 0 :(得分:3)

看起来像一个正确的方法:返回布尔值false允许方法/函数返回其他逻辑“false”值,如0或空字符串为有效,同时仍允许调用者使用===检查其结果操作

答案 1 :(得分:2)

这是一种常见的方法,至少在PHP中,这并不是一种不好的做法。

使用PHPDoc约定可以毫无问题地记录它:http://manual.phpdoc.org/HTMLSmartyConverter/HandS/phpDocumentor/tutorial_tags.return.pkg.html

答案 2 :(得分:0)

  

我想知道:鉴于此,是不是   允许方法的好习惯   返回不同类型的值?

不,不是。不是PHP而不是其他语言。最好为特定类型的结果添加其他方法。