php-general | 2003022
Date: 02/21/03
- Next message: Lord Loh.: "[PHP] Re: passing variables to flash"
- Previous message: Philip Olson: "Re: [PHP] "Constants" for dummies, please?"
- In reply to: Chris: "[PHP] Array instead of Switch"
- Next in thread: John W. Holmes: "RE: [PHP] Array instead of Switch"
- Reply: John W. Holmes: "RE: [PHP] Array instead of Switch"
- Reply: Markas: "Re: [PHP] Array instead of Switch"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 22 Feb 2003 03:28:22 -0000, you wrote:
>Let's say I need to take one of 20 actions depending on a form selection. I
>could use a switch statement with 20 cases, but I could also do something
>like:
>
>// Pretend this comes from a form
>$formchoice = "mars";
>
>
>$response = array(
> "mars" => "go_mars()",
> "mercury" => "go_mercury()",
> "earth" => "go_earth()");
>
>foreach ($response as $choice => $action)
>{
> if (strtoupper($formchoice) == strtoupper($choice))
> {
> eval("$action;");
> }
>}
>
>But are there even better ways?
$formchoice = "mars";
go_planet ($formchoice);
Keep the high-levels of the script as simple as possible, push the
complexity down into functions where it's hidden from view.
Maybe go_planet() just calls go_mercury(), go_venus(), etc., or, more
likely, there's enough shared-functionality for only go_planet() to be
necessary.
Either way, you've replaced 11 lines in the main body of your script
with 1 line, and the next person to deal with your code will be
grateful.
[An OO programmer would probably create a planet object...
myPlanet = new Planet()
myPlanet.setType($formchoice)
or something, with the same end (hiding complexity) in mind.]
-- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
- Next message: Lord Loh.: "[PHP] Re: passing variables to flash"
- Previous message: Philip Olson: "Re: [PHP] "Constants" for dummies, please?"
- In reply to: Chris: "[PHP] Array instead of Switch"
- Next in thread: John W. Holmes: "RE: [PHP] Array instead of Switch"
- Reply: John W. Holmes: "RE: [PHP] Array instead of Switch"
- Reply: Markas: "Re: [PHP] Array instead of Switch"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]

