本文整理汇总了PHP中PHPUnit_Framework_MockObject_Generator::soapLoaded方法的典型用法代码示例。如果您正苦于以下问题:PHP PHPUnit_Framework_MockObject_Generator::soapLoaded方法的具体用法?PHP PHPUnit_Framework_MockObject_Generator::soapLoaded怎么用?PHP PHPUnit_Framework_MockObject_Generator::soapLoaded使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PHPUnit_Framework_MockObject_Generator
的用法示例。
在下文中一共展示了PHPUnit_Framework_MockObject_Generator::soapLoaded方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: generateClassFromWsdl
/**
* @param string $wsdlFile
* @param string $originalClassName
* @param array $methods
* @return array
*/
public static function generateClassFromWsdl($wsdlFile, $originalClassName, array $methods = array())
{
if (self::$soapLoaded === NULL) {
self::$soapLoaded = extension_loaded('soap');
}
if (self::$soapLoaded) {
$client = new SOAPClient($wsdlFile);
$_methods = array_unique($client->__getFunctions());
unset($client);
$templateDir = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'Generator' . DIRECTORY_SEPARATOR;
$methodTemplate = new Text_Template($templateDir . 'wsdl_method.tpl');
$methodsBuffer = '';
foreach ($_methods as $method) {
$nameStart = strpos($method, ' ') + 1;
$nameEnd = strpos($method, '(');
$name = substr($method, $nameStart, $nameEnd - $nameStart);
if (empty($methods) || in_array($name, $methods)) {
$args = explode(',', substr($method, $nameEnd + 1, strpos($method, ')') - $nameEnd - 1));
$numArgs = count($args);
for ($i = 0; $i < $numArgs; $i++) {
$args[$i] = substr($args[$i], strpos($args[$i], '$'));
}
$methodTemplate->setVar(array('method_name' => $name, 'arguments' => join(', ', $args)));
$methodsBuffer .= $methodTemplate->render();
}
}
$classTemplate = new Text_Template($templateDir . 'wsdl_class.tpl');
$classTemplate->setVar(array('class_name' => $originalClassName, 'wsdl' => $wsdlFile, 'methods' => $methodsBuffer));
return $classTemplate->render();
} else {
throw new PHPUnit_Framework_Exception('The SOAP extension is required to generate a mock object ' . 'from WSDL.');
}
}