我知道这个话题已经被简单地讨论过here但我希望了解在 PHP 中使用多个返回类型的一般注意事项。 对于 PHP 的这个特性似乎有不同的看法。
我倾向于同意,正如上面链接的线程中所指出的,对于错误,使用异常可能更合适;但是,如果一个函数返回两种类型的有意义的值呢?例如,假设一个函数返回房子里所有关闭的灯 (:) 是的,我正在即兴发挥!)
基本上,这就是我想表达的意思:如果不满足基本条件,并且我看不到继续计算列表的意义,我将返回一个 bool 值。否则,继续这样做:
public function getLightsThatAreOff($house)
{
// if $house itself does not have any power, return true
// else
//compile an array of lights that are off and return then
}
我认为上面提到的用例是多种返回类型的最佳选择。无论哪种情况,如果有人提供一套关于如何确定是否使用此功能的通用指南,我将不胜感激。
谢谢!
最佳答案
混合类型不好,即使有很好的文档记录。例如,如果一个方法正在返回一个数组,但没有返回任何东西,那么它应该是一个空数组,而不是 false 或其他任何东西。 即
array()
关于PHP 最佳实践 : Using Mixed return types,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16292550/