documentation)) { $docs = self::$wsdl->documentation; $docs = explode("\n", $docs); $php_code .= "/**\n"; foreach ($docs as $line) { $php_code .= ' * ' .trim($line). PHP_EOL; } $php_code .= " */\n\n"; } if (!isset(self::$wsdl->name)) { $classname = 'SoapService'; } else { $classname = self::$wsdl->name; } $php_code .= "class {$classname} {\n"; foreach (self::$wsdl->operations as $name => $io) { if (isset($io['documentation'])) { $php_code .= "\n\t/**\n"; $docs = $io['documentation']; $docs = explode("\n", $docs); foreach ($docs as $line) { $php_code .= "\t * " .trim($line). PHP_EOL; } $php_code .= "\t */\n"; } $php_code .= "\n\tpublic function {$name} ("; if (isset($io['input'])) { $arg_names = array(); foreach ($io['input'] as $arg) { $arg_names[] = $arg['name']; } $php_code .= '$' .implode(', $', $arg_names); } $php_code .= ')'; $php_code .= "\n\t{"; $php_code .= "\n\t\t\n"; if (isset($io['output'])) { $php_code .= "\t\treturn \${$io['output']['name']};\n"; } $php_code .= "\t}\n"; } $php_code .= "\n}"; $php_code .= PHP_EOL. "\$server = new SoapServer;" .PHP_EOL; $php_code .= "\$server->setClass($classname);"; $php_code .= "\n?>"; return $php_code; } }