Workflow and Source Panels
Dispatcher Map Panel
Route a command through named PHP handlers while replay shows the selected branch.
Dispatcher Map Panel
dispatcher_map_panel.php
<?php
function handle_status($mode) {
return "handled:" . $mode;
}
function handle_refresh($mode) {
return "cache:" . $mode;
}
function handle_archive($mode) {
return "queue:" . $mode;
}
$mode = ;
$handlers = [
"status" => "handle_status",
"refresh" => "handle_refresh",
"archive" => "handle_archive"
];
$access = $mode === "archive" ? "review" : "ok";
$handler = $handlers[$mode];
$handled = $handler($mode);
echo "mode=" . $mode . "\n";
echo "access=" . $access . "\n";
echo $handled . "\n";
<?php
function handle_status($mode) {
return "handled:" . $mode;
}
function handle_refresh($mode) {
return "cache:" . $mode;
}
function handle_archive($mode) {
return "queue:" . $mode;
}
$mode = ;
$handlers = [
"status" => "handle_status",
"refresh" => "handle_refresh",
"archive" => "handle_archive"
];
$access = $mode === "archive" ? "review" : "ok";
$handler = $handlers[$mode];
$handled = $handler($mode);
echo "mode=" . $mode . "\n";
echo "access=" . $access . "\n";
echo $handled . "\n";
<?php
function handle_status($mode) {
return "handled:" . $mode;
}
function handle_refresh($mode) {
return "cache:" . $mode;
}
function handle_archive($mode) {
return "queue:" . $mode;
}
$mode = ;
$handlers = [
"status" => "handle_status",
"refresh" => "handle_refresh",
"archive" => "handle_archive"
];
$access = $mode === "archive" ? "review" : "ok";
$handler = $handlers[$mode];
$handled = $handler($mode);
echo "mode=" . $mode . "\n";
echo "access=" . $access . "\n";
echo $handled . "\n";
dispatcher map
Mapping commands to named handlers keeps dynamic routing traceable without closures.