Command-Line Scripts
Subcommand Dispatch
Choose an action from a command name.
subcommand-dispatch
A command-line tool can route a subcommand to a specific action. The example uses local fixture data instead of real process arguments.
Subcommand Dispatch
subcommand_dispatch.php
Replay: real traced execution (multi-file project)
<?php
$command = "build";
$action = "compile";
if ($command === "test") {
$action = "verify";
} elseif ($command === "deploy") {
$action = "publish";
}
echo "command=" . $command . "\n";
echo "action=" . $action . "\n";
<?php
$command = "test";
$action = "compile";
if ($command === "test") {
$action = "verify";
} elseif ($command === "deploy") {
$action = "publish";
}
echo "command=" . $command . "\n";
echo "action=" . $action . "\n";
<?php
$command = "deploy";
$action = "compile";
if ($command === "test") {
$action = "verify";
} elseif ($command === "deploy") {
$action = "publish";
}
echo "command=" . $command . "\n";
echo "action=" . $action . "\n";
$command ← build, $action ← compile
1<?php2$command→ build = "build"; //@command="test", "deploy"3$action→ compile = "compile";45if ($command === "test") {6 $action = "verify";7} elseif ($command === "deploy") {8 $action = "publish";9}1011echo "command=" . $commandbuild . "\n";12echo "action=" . $actioncompile . "\n";outputcommand=build action=compile
$command ← test, $action ← compile
1<?php2$command→ test = "test";3$action→ compile = "compile";$action ← verify
5if ($commandtest === "test") {6 $action→ verify = "verify";7} elseif ($command === "deploy") {echo "command=" . $command . " ";
11echo "command=" . $commandtest . "\n";12echo "action=" . $actionverify . "\n";outputcommand=test action=verify
$command ← deploy, $action ← compile
1<?php2$command→ deploy = "deploy";3$action→ compile = "compile";45if ($command === "test") {6 $action = "verify";7} elseif ($command === "deploy") {8 $action→ publish = "publish";9}1011echo "command=" . $commanddeploy . "\n";12echo "action=" . $actionpublish . "\n";outputcommand=deploy action=publish