note 75936 added to control-structures.break
| From: | pinkgothic at gmail dot com | Date: | Fri, 22 Jun 2007 11:10:16 +0000 |
| Subject: | note 75936 added to control-structures.break | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-127885@lists.php.net to get a copy of this message | ||
To add to the responses given to "vlad at vlad dot neosurge dot net" - I'd like to
note the lack of automatic breaking in 'default' can be a very good thing. Consider this
useful snippet:
<?php
switch((string) $_REQUEST['mode']) {
default:
$_REQUEST['mode'] = "search";
// fall through...
case 'search' :
case 'list' :
case 'add' :
case 'edit' :
require(dirname(__FILE__)."/incs/".$_REQUEST['mode'].".php");
break;
}
?>
I personally find that far easier to look at than, for example:
<?php
$valid_modes = array('search','list','add','edit');
if (in_array($_REQUEST['mode'],$valid_modes)) {
require(dirname(__FILE__)."/incs/".$_REQUEST['mode'].".php");
} else {
require(dirname(__FILE__)."/incs/search.php");
}
?>
...and it even has the added benefit that the switch() variant only has one require() statement,
which makes for easier maintenance, e.g. if the directory changes, or what-have-you.
(Consider the above pseudocode, please, it's not tested - it's code illustrating a point
only.)
----
Server IP: 212.124.37.9
Probable Submitter: 84.46.117.118
----
Manual Page -- http://www.php.net/manual/en/control-structures.break.php
Edit -- https://master.php.net/note/edit/75936
Del: integrated -- https://master.php.net/note/delete/75936/integrated
Del: useless -- https://master.php.net/note/delete/75936/useless
Del: bad code -- https://master.php.net/note/delete/75936/bad+code
Del: spam -- https://master.php.net/note/delete/75936/spam
Del: non-english -- https://master.php.net/note/delete/75936/non-english
Del: in docs -- https://master.php.net/note/delete/75936/in+docs
Del: other reasons-- https://master.php.net/note/delete/75936
Reject -- https://master.php.net/note/reject/75936
Search -- https://master.php.net/manage/user-notes.php