Convert a flag into a behavior label.

flag-toggle A boolean command-line flag usually changes a small behavior decision. This example models the flag with scalar fixture data.

Flag Toggles

verbose
flag_toggle.php
Replay: real traced execution (multi-file project)
<?php
$verbose = "yes";
$enabled = $verbose === "yes";
$mode = $enabled ? "detailed" : "quiet";

echo "verbose=" . $verbose . "\n";
echo "mode=" . $mode . "\n";
<?php
$verbose = "no";
$enabled = $verbose === "yes";
$mode = $enabled ? "detailed" : "quiet";

echo "verbose=" . $verbose . "\n";
echo "mode=" . $mode . "\n";
  1. $verbose ← yes, $enabled ← 1, $mode ← detailed

    1<?php2$verbose→ yes = "yes"; //@verbose="no", "yes"3$enabled→ 1 = $verboseyes === "yes";4$mode→ detailed = $enabled1 ? "detailed" : "quiet";56echo "verbose=" . $verboseyes . "\n";7echo "mode=" . $modedetailed . "\n";
    outputverbose=yes
    mode=detailed
  1. $verbose ← no, $enabled ← (empty), $mode ← quiet

    1<?php2$verbose→ no = "no";3$enabled→ (empty) = $verboseno === "yes";4$mode→ quiet = $enabled(empty) ? "detailed" : "quiet";56echo "verbose=" . $verboseno . "\n";7echo "mode=" . $modequiet . "\n";
    outputverbose=no
    mode=quiet