$special_map = array('60,30' => 'basic_cancel_from_server', '60,80' => 'basic_ack_from_server', '60,120' => 'basic_nack_from_server'); foreach ($json_spec['classes'] as $c) { foreach ($c['methods'] as $m) { if (isset($special_map[$c['id'] . ',' . $m['id']]) && protocol_version($json_spec) == '091') { $ret[$c['id'] . "," . $m['id']] = $special_map[$c['id'] . ',' . $m['id']]; } else { $ret[$c['id'] . "," . $m['id']] = $c['name'] . '_' . to_snake_case($m['name']); } } } return export_property($ret); } $classBody = ''; $classBody .= get_type_phpdoc('array'); $classBody .= 'protected $method_map = ' . method_map($json_spec) . ";\n\n"; $classBody .= get_type_phpdoc('string', '$method_sig', 'string'); $classBody .= 'public function get_method($method_sig)' . "\n{\n"; $classBody .= indent('return $this->method_map[$method_sig];') . "\n"; $classBody .= "}\n\n"; $classBody .= get_type_phpdoc('string', '$method_sig', 'bool'); $classBody .= 'public function valid_method($method_sig)' . "\n{\n"; $classBody .= indent('return array_key_exists($method_sig, $this->method_map);') . "\n"; $classBody .= "}"; $out = '<?php' . "\n\n"; $out .= '/* This file was autogenerated by spec/parser.php - Do not modify */' . "\n\n"; $out .= 'namespace PhpAmqpLib\\Helper\\Protocol;' . "\n\n"; $out .= "class MethodMap" . protocol_version($json_spec) . "\n"; $out .= "{\n"; $out .= indent($classBody) . "\n"; $out .= "}\n"; file_put_contents(__DIR__ . '/../PhpAmqpLib/Helper/Protocol/MethodMap' . protocol_version($json_spec) . '.php', $out);
$special_map = array('60,30' => 'basic_cancel_from_server', '60,80' => 'basic_ack_from_server', '60,120' => 'basic_nack_from_server'); foreach ($json_spec['classes'] as $c) { foreach ($c['methods'] as $m) { if (isset($special_map[$c['id'] . ',' . $m['id']]) && protocol_version($json_spec) == '091') { $ret[$c['id'] . "," . $m['id']] = $special_map[$c['id'] . ',' . $m['id']]; } else { $ret[$c['id'] . "," . $m['id']] = $c['name'] . '_' . to_snake_case($m['name']); } } } return export_property($ret); } $classBody = ''; $classBody .= get_type_phpdoc('array'); $classBody .= 'protected $method_map = ' . method_map($json_spec) . ";\n\n"; $classBody .= get_type_phpdoc('string', 'string'); $classBody .= 'public function get_method($method_sig)' . "\n{\n"; $classBody .= indent('return $this->method_map[$method_sig];') . "\n"; $classBody .= "}\n\n"; $classBody .= get_type_phpdoc('string', 'boolean'); $classBody .= 'public function valid_method($method_sig)' . "\n{\n"; $classBody .= indent('return array_key_exists($method_sig, $this->method_map);') . "\n"; $classBody .= "}"; $out = '<?php' . "\n\n"; $out .= '/* This file was autogenerated by spec/parser.php - Do not modify */' . "\n\n"; $out .= 'namespace PhpAmqpLib\\Helper\\Protocol;' . "\n\n"; $out .= "class MethodMap" . protocol_version($json_spec) . "\n"; $out .= "{\n"; $out .= indent($classBody) . "\n"; $out .= "}\n"; file_put_contents(__DIR__ . '/../PhpAmqpLib/Helper/Protocol/MethodMap' . protocol_version($json_spec) . '.php', $out);