Skip to main content

getOpName

Note

This is a point-in-time snapshot of the API documentation from January 2026. Going forward, we will not be maintaining a public copy of these references, and recommend users to refer to the built-in signature helpers available in the Hack LSP instead for complete and up-to-date information.

Translate an mc_op_* numeric code to something human-readable

public static function getOpName(
int $op,
): string;

Parameters

  • int $op

Returns

  • string - - The name of the op

Examples

The following example shows how to use MCRouter::getOpName to get the English readable name for an MCRouter operation given as an integer.

Here is the list of the current mappings:

IntegerConstantReturned String
0MCRouter::mc_op_unknownunknown
1MCRouter::mc_op_echoecho
2MCRouter::mc_op_quitquit
3MCRouter::mc_op_versionversion
4MCRouter::mc_op_servererrservererr
5MCRouter::mc_op_getget
6MCRouter::mc_op_setset
7MCRouter::mc_op_addadd
8MCRouter::mc_op_replacereplace
9MCRouter::mc_op_appendappend
10MCRouter::mc_op_prependprepend
11MCRouter::mc_op_cascas
12MCRouter::mc_op_deletedelete
13MCRouter::mc_op_nopsnops
14MCRouter::mc_op_incrincr
15MCRouter::mc_op_decrdecr
16MCRouter::mc_op_flushallflushall
17MCRouter::mc_op_flushreflushre
18MCRouter::mc_op_statsstats
19MCRouter::mc_op_verbosityverbosity
20MCRouter::mc_op_lease_getlease-get
21MCRouter::mc_op_lease_setlease-set
22MCRouter::mc_op_shutdownshutdown
23MCRouter::mc_op_endend
24MCRouter::mc_op_metagetmetaget
25MCRouter::mc_op_execexec
26MCRouter::mc_op_getsgets
27MCRouter::mc_op_get_service_infoget-service-info
function get_simple_mcrouter(): \MCRouter {
$servers = Vector {\getenv('HHVM_TEST_MCROUTER')};
$mc = \MCRouter::createSimple($servers);
return $mc;
}

function get_op_name(int $op_num): string {
return \MCRouter::getOpName($op_num);
}

<<__EntryPoint>>
async function run(): Awaitable<void> {
$mc = get_simple_mcrouter();

// You can pass raw integers
\var_dump(get_op_name(3));
\var_dump(get_op_name(9));
\var_dump(get_op_name(-1));
\var_dump(get_op_name(0));
\var_dump(get_op_name(100));

// You can pass MCRouter constants
\var_dump(get_op_name(\MCRouter::mc_op_servererr));
\var_dump(get_op_name(\MCRouter::mc_op_exec));
\var_dump(get_op_name(\MCRouter::mc_op_unknown));

// You can pass something from an exception too
try {
$val = await $mc->get('KEYDOESNOTEXISTIHOPEREALLY');
} catch (\MCRouterException $ex) {
\var_dump($ex->getOp());
\var_dump(get_op_name($ex->getOp()));
}
}
```.hhvm.expectf
string(7) "version"
string(6) "append"
string(7) "unknown"
string(7) "unknown"
string(7) "unknown"
string(9) "servererr"
string(4) "exec"
string(7) "unknown"
int(5)
string(3) "get"
```.example.hhvm.out
string(7) "version"
string(6) "append"
string(7) "unknown"
string(7) "unknown"
string(7) "unknown"
string(9) "servererr"
string(4) "exec"
string(7) "unknown"
int(5)
string(3) "get"
```.skipif
\Hack\UserDocumentation\API\Examples\MCRouter\skipif();