我理解这个主题在这里简要介绍了,但我希望了解在PHP中使用多个返回类型的一般做法和不做.关于PHP的这个功能似乎有不同的意见.
我倾向于同意,正如上面链接的线程所指出的,对于错误,使用异常可能更合适; 但是,如果函数返回两类有意义的值呢?例如,假设一个函数返回一个房子里关闭的所有灯(:)是的,我正在甩它!)
从本质上讲,这是我想要传达的:如果基本条件没有达到并且我没有看到前进和计算我的列表的一点,我返回一个布尔值.否则,请继续这样做:
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
}
Run Code Online (Sandbox Code Playgroud)
我认为上面提到的用例对于多种返回类型来说是一种甜蜜点.在任何一种情况下,如果有人提供了一套关于如何确定是否使用此功能的一般指南,我将不胜感激.
谢谢!
即使记录良好,混合类型也不好.例如,如果一个方法返回一个数组,但没有什么可以返回,那么它应该是一个空数组,而不是false或其他任何东西.即
array()
Run Code Online (Sandbox Code Playgroud)