本文整理汇总了PHP中Zend_Soap_Wsdl_Strategy_DefaultComplexType类的典型用法代码示例。如果您正苦于以下问题:PHP Zend_Soap_Wsdl_Strategy_DefaultComplexType类的具体用法?PHP Zend_Soap_Wsdl_Strategy_DefaultComplexType怎么用?PHP Zend_Soap_Wsdl_Strategy_DefaultComplexType使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Zend_Soap_Wsdl_Strategy_DefaultComplexType类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testOnlyPublicPropertiesAreDiscoveredByStrategy
/**
* @group ZF-5944
*/
public function testOnlyPublicPropertiesAreDiscoveredByStrategy()
{
$this->strategy->addComplexType("Zend_Soap_Wsdl_DefaultComplexTypeTest_PublicPrivateProtected");
$xml = $this->wsdl->toXML();
$this->assertNotContains(Zend_Soap_Wsdl_DefaultComplexTypeTest_PublicPrivateProtected::PROTECTED_VAR_NAME, $xml);
$this->assertNotContains(Zend_Soap_Wsdl_DefaultComplexTypeTest_PublicPrivateProtected::PRIVATE_VAR_NAME, $xml);
}
示例2: testOnlyPublicPropertiesAreDiscoveredByStrategy
/**
* @group ZF-5944
*/
public function testOnlyPublicPropertiesAreDiscoveredByStrategy()
{
$this->strategy->addComplexType('\\ZendTest\\Soap\\Wsdl\\PublicPrivateProtected');
$xml = $this->wsdl->toXML();
$this->assertNotContains(PublicPrivateProtected::PROTECTED_VAR_NAME, $xml);
$this->assertNotContains(PublicPrivateProtected::PRIVATE_VAR_NAME, $xml);
}
示例3: addComplexType
/**
* Add an ArrayOfType based on the xsd:complexType syntax if type[] is detected in return value doc comment.
*
* @param string $type
* @return string tns:xsd-type
*/
public function addComplexType($type)
{
if (in_array($type, $this->_inProcess)) {
// require_once "Zend/Soap/Wsdl/Exception.php";
throw new Zend_Soap_Wsdl_Exception("Infinite recursion, cannot nest '" . $type . "' into itsself.");
}
$this->_inProcess[$type] = $type;
$nestingLevel = $this->_getNestedCount($type);
if ($nestingLevel > 1) {
// require_once "Zend/Soap/Wsdl/Exception.php";
throw new Zend_Soap_Wsdl_Exception("ArrayOfTypeComplex cannot return nested ArrayOfObject deeper than " . "one level. Use array object properties to return deep nested data.\n ");
}
$singularType = $this->_getSingularPhpType($type);
if (!class_exists($singularType)) {
// require_once "Zend/Soap/Wsdl/Exception.php";
throw new Zend_Soap_Wsdl_Exception(sprintf("Cannot add a complex type %s that is not an object or where " . "class could not be found in 'DefaultComplexType' strategy.", $type));
}
if ($nestingLevel == 1) {
// The following blocks define the Array of Object structure
$xsdComplexTypeName = $this->_addArrayOfComplexType($singularType, $type);
} else {
$xsdComplexTypeName = $singularType;
}
// The array for the objects has been created, now build the object definition:
if (!in_array($singularType, $this->getContext()->getTypes())) {
parent::addComplexType($singularType);
}
unset($this->_inProcess[$type]);
return "tns:" . $xsdComplexTypeName;
}
示例4: addComplexType
/**
* Add an unbounded ArrayOfType based on the xsd:sequence syntax if type[] is detected in return value doc comment.
*
* @param string $type
* @return string tns:xsd-type
*/
public function addComplexType($type)
{
$nestedCounter = $this->_getNestedCount($type);
if($nestedCounter > 0) {
$singularType = $this->_getSingularType($type);
for($i = 1; $i <= $nestedCounter; $i++) {
$complexTypeName = substr($this->_getTypeNameBasedOnNestingLevel($singularType, $i), 4);
$childTypeName = $this->_getTypeNameBasedOnNestingLevel($singularType, $i-1);
$this->_addElementFromWsdlAndChildTypes($complexTypeName, $childTypeName);
}
// adding the PHP type which is resolved to a nested XSD type. therefore add only once.
$this->getContext()->addType($complexTypeName);
return "tns:$complexTypeName";
} else if (!in_array($type, $this->getContext()->getTypes())) {
// New singular complex type
return parent::addComplexType($type);
} else {
// Existing complex type
return $this->getContext()->getType($type);
}
}