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

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to