Re: Re: SHOULD I NOT USE "ELSE" IN IF STATEMENTS....?

From: Date: Tue, 09 Jun 2009 16:22:22 +0000
Subject: Re: Re: SHOULD I NOT USE "ELSE" IN IF STATEMENTS....?
References: 1 2 3  Groups: php.general 
Request: Send a blank email to php-general+get-293811@lists.php.net to get a copy of this message
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. Cheers, Rob. -- http://www.interjinn.com Application and Templating Framework for PHP

« previous php.general (#293811) next »