本文整理汇总了PHP中MapUtils::IsMap方法的典型用法代码示例。如果您正苦于以下问题:PHP MapUtils::IsMap方法的具体用法?PHP MapUtils::IsMap怎么用?PHP MapUtils::IsMap使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MapUtils
的用法示例。
在下文中一共展示了MapUtils::IsMap方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: Create
/**
* Creates a new object of the given type, using the optional parameters.
* When pseudo-namespace support is enabled class names can become very long,
* and this function provides an alternative way to create objects that is
* more readable.
* @param string $type the type of object to create
* @param array $params parameters to pass into the constructor, as either
* flat array in the correct order for the constructor or as an
* associative array from parameter name to value
* @return mixed a new instance of a class that represents that type
*/
public function Create($type, $params = null)
{
if (array_key_exists($type, $this->options['classmap'])) {
$class = $this->options['classmap'][$type];
$reflectionClass = new ReflectionClass($class);
if (isset($params)) {
if (MapUtils::IsMap($params)) {
$params = MapUtils::MapToMethodParameters($params, $reflectionClass->getConstructor());
}
return $reflectionClass->newInstanceArgs($params);
} else {
return $reflectionClass->newInstance();
}
} else {
trigger_error('Unknown type: ' . $type, E_USER_ERROR);
}
}
示例2: ConvertObjectToElement
/**
* Converts an object to an DOMElement.
* @param Object $object the object to serialize
* @param string $elementName the name of the element to serialize
* @param DOMDocument $document the document that the element will be added to
* @return DOMElement the element representing the object
*/
private static function ConvertObjectToElement($object, $elementName, $document)
{
if (!isset($object)) {
return null;
}
$element = $document->createElement($elementName);
$children = array();
if (is_array($object) && MapUtils::IsMap($object)) {
$object = (object) $object;
}
if (is_object($object)) {
foreach (get_object_vars($object) as $field => $value) {
if (is_array($value) && !MapUtils::IsMap($value)) {
foreach ($value as $item) {
$children[] = self::ConvertObjectToElement($item, $field, $document);
}
} else {
$children[] = self::ConvertObjectToElement($value, $field, $document);
}
}
foreach ($children as $child) {
if (isset($child)) {
$element->appendChild($child);
}
}
} else {
$element->nodeValue = self::ConvertObjectToNodeValue($object);
}
return $element;
}
示例3: testIsMap
/**
* Test determining if an array is a map.
* @param array $value the array to evaluate
* @param bool $expected the expected result of IsMap()
* @covers MapUtils::IsMap
* @dataProvider IsMapProvider
*/
public function testIsMap(array $value, $expected)
{
$result = MapUtils::IsMap($value);
$this->assertEquals($expected, $result);
}
示例4: CreateChildListForObjects
/**
* Creates an array of child elements for objects.
* @param object $object the object whose properties will be serialized
* @param DOMDocument $document the document being constructed
* @param bool $useXsiType whether the xsi:type will be added into XML tags
* when available
* @return array an array of child elements created from the specified object
*/
private function CreateChildListForObjects($object, DOMDocument $document, $useXsiType)
{
$children = array();
foreach (get_object_vars($object) as $field => $value) {
if (is_array($value) && !MapUtils::IsMap($value)) {
foreach ($value as $item) {
$children[] = self::ConvertObjectToElement($item, $field, $document, $useXsiType);
}
} else {
$children[] = self::ConvertObjectToElement($value, $field, $document, $useXsiType);
}
}
return $children;
}