#49524 [Bgs]: Inequalities example in SWITCH documentation

From: Date: Mon, 12 Oct 2009 08:46:43 +0000
Subject: #49524 [Bgs]: Inequalities example in SWITCH documentation
References: 1  Groups: php.doc.bugs 
Request: Send a blank email to doc-bugs+get-2923@lists.php.net to get a copy of this message
 ID:          49524
 Updated by:  torben@php.net
 Reported By: matt at plasmacoustics dot com
 Status:      Bogus
 Bug Type:    Documentation problem
 PHP Version: 5.3.0
 New Comment:

If this sort of thing is documented at all, I would love to see any 
mention of switch() being used this way be prefaced with wording along

the lines of "Even though it's bad form, you can use switch() like 
this. . .". This stuff can be more readably and more efficiently be 
implemented using if..elseif blocks. if..elsif is also less error-prone

(as this bug report proves).

As for coders using what they find in the User Notes, that's strictly 
at their own risk. While we try to keep on top of the notes, doing so 
is a gargantuan task and keeping edge cases, syntax tricks, and bad 
code out just doesn't always happen.


Previous Comments:
------------------------------------------------------------------------

[2009-10-11 03:46:44] matt at plasmacoustics dot com

Dan,

Here was the submission a fortnight ago:
http://bugs.php.net/bug.php?id=49679
as per your suggestion.

It was flagged 'Bogus'.

This week I debugged two clients scripts both suffering from this exact
logic error. Both developers had built on bad examples from SWITCH
documentation comments.

I brought attention to the widespread misunderstanding, resulting in
your snappy response.

I suggested a code example that will make this clear in future, which
was ignored.

If both you and fa don't wish to document the correct behaviour, please
just say so. Let us submitters and you developers try to read more
carefully and demonstrate some cohesion as a team.

------------------------------------------------------------------------

[2009-09-23 18:48:27] danbrown@php.net

I think that's a good idea, Matt.  Would you please re-submit that as a

suggestion?  Submitting it as a "Documentation problem," but with the 
subject something along the lines of "Suggestion: Addition of Example
to 
Switch Page" should suffice.

Also, feel free to supply an example you think would be of good use for

inclusion as an official example.  Just be sure to test and re-test it,

just as we would ourselves.  Some folks out there in userland make a 
habit of simply copying and pasting code, thinking it will always work

as advertised (and be safe to run in the first place)!  ;-P

Thanks for your efforts, Matt.  We absolutely appreciate when folks
take 
the time to help the community, such as you're continuing to do 
yourself!

------------------------------------------------------------------------

[2009-09-23 18:27:06] matt at plasmacoustics dot com

Dan:

There is another example, see
http://au.php.net/manual/en/control-structures.switch.php#93342

If $totaltime is ZERO, a confusing semantic error would result.
Reliance on the arbitrary argument being interpreted as TRUE seems
widespread.

Why not add a SWITCH example covering INEQUALITIES to the
documentation?

------------------------------------------------------------------------

[2009-09-12 02:01:59] matt at plasmacoustics dot com

Thanks for pointing out the errors. You're right, there are many
mistakes in the submission, do feel free to delete it.

I do maintain though that the SWITCH argument would be best as TRUE to
guarantee the expected behaviour instead of relying on the type
conversion.

jonybd at yahoo dot com has a note that deals with inequalities. An
official example would be well received if you so wished. Cheers.

------------------------------------------------------------------------

[2009-09-11 15:41:57] danbrown@php.net

Three things to point out:


1.) You posted the bug from a completely different page than the one to

which you make reference.

2.) You grossly misquoted the code of which you complained.

3.) You didn't test it yourself, because - if you had - you'd see that

it works as advertised.

------------------------------------------------------------------------

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/49524

-- 
Edit this bug report at http://bugs.php.net/?id=49524&edit=1



Thread (9 messages)

« previous php.doc.bugs (#2923) next »