On Tue, 09 Jun 2009 12:22:22 -0400, rob...@interjinn.com (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

Reply via email to