On Tue, 09 Jun 2009 12:22:22 -0400, robert@xxxxxxxxxxxxx (Robert Cummings) wrote: >Craige Leeder wrote: >> I'm not sure I agree with NEVER using else. Sometimes else is a very >> logical way to organize code. However, it should not be used for data >> validation IE: >> >> >> function myValidatorFunc($data) { >> if (empty(data)) { >> return false; >> } else { >> if (!is_numeric($data)) { >> return false; >> } else { >> >> } >> } >> } >> >> >> It's all about how deep you nest your code, and keeping the flow clean. >> That code would be much more readable as such: >> >> function myValidatorFunc($data) { >> if (empty(data)) { >> throw new BadMethodCallException("Paramater data missing"); >> } >> if (!is_numeric($data)) { >> throw new InvalidArgumentException("Paramater data should be an >> integer."); >> } >> } >> >> See the difference? > >I believe the article was suggesting not ending a function that returns >a value with no return. So rather than return in the else, return >outside the else as the last expression of the function. This way it is >clear that the function returns a value. > >Contrast: > ><?php > >function foo( $foo ) >{ > if( $foo ) > { > return true; > } > else > { > return false; > } >} > >?> > >Versus: > ><?php > >function foo( $foo ) >{ > if( $foo ) > { > return true; > } > > return false; >} > >?> > >Personally, I also prefer the latter style. I don't particularly like scattered returns, and prefer Function foo; { result = false; if ( ) { $result = 'yellow'; } elseif ( ) { $result = 'blue'; } return $result; } -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php