本文整理汇总了PHP中SimpleXMLElement::getArgumentsAsPhp方法的典型用法代码示例。如果您正苦于以下问题:PHP SimpleXMLElement::getArgumentsAsPhp方法的具体用法?PHP SimpleXMLElement::getArgumentsAsPhp怎么用?PHP SimpleXMLElement::getArgumentsAsPhp使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SimpleXMLElement
的用法示例。
在下文中一共展示了SimpleXMLElement::getArgumentsAsPhp方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: parseDefinition
/**
* Parses an individual ehough_iconic_Definition
*
* @param string $id
* @param SimpleXMLElement $service
* @param string $file
*/
private function parseDefinition($id, $service, $file)
{
if ((string) $service['alias']) {
$public = true;
if (isset($service['public'])) {
$public = $service->getAttributeAsPhp('public');
}
$this->container->setAlias($id, new ehough_iconic_Alias((string) $service['alias'], $public));
return;
}
if (isset($service['parent'])) {
$definition = new ehough_iconic_DefinitionDecorator((string) $service['parent']);
} else {
$definition = new ehough_iconic_Definition();
}
foreach (array('class', 'scope', 'public', 'factory-class', 'factory-method', 'factory-service', 'synthetic', 'synchronized', 'lazy', 'abstract') as $key) {
if (isset($service[$key])) {
$method = 'set' . str_replace('-', '', $key);
$definition->{$method}((string) $service->getAttributeAsPhp($key));
}
}
if ($service->file) {
$definition->setFile((string) $service->file);
}
$definition->setArguments($service->getArgumentsAsPhp('argument'));
$definition->setProperties($service->getArgumentsAsPhp('property'));
if (isset($service->configurator)) {
if (isset($service->configurator['function'])) {
$definition->setConfigurator((string) $service->configurator['function']);
} else {
if (isset($service->configurator['service'])) {
$class = new ehough_iconic_Reference((string) $service->configurator['service'], ehough_iconic_ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE, false);
} else {
$class = (string) $service->configurator['class'];
}
$definition->setConfigurator(array($class, (string) $service->configurator['method']));
}
}
foreach ($service->call as $call) {
$definition->addMethodCall((string) $call['method'], $call->getArgumentsAsPhp('argument'));
}
foreach ($service->tag as $tag) {
$parameters = array();
foreach ($tag->attributes() as $name => $value) {
if ('name' === $name) {
continue;
}
$parameters[$name] = ehough_iconic_SimpleXMLElement::phpize($value);
}
$definition->addTag((string) $tag['name'], $parameters);
}
$this->container->setDefinition($id, $definition);
}