function XmlDescriptor::getCommandDocument
2 calls to XmlDescriptor::getCommandDocument()
- XmlDescriptor::describeCommand in vendor/
symfony/ console/ Descriptor/ XmlDescriptor.php - Describes a Command instance.
- XmlDescriptor::getApplicationDocument in vendor/
symfony/ console/ Descriptor/ XmlDescriptor.php
File
-
vendor/
symfony/ console/ Descriptor/ XmlDescriptor.php, line 47
Class
- XmlDescriptor
- XML descriptor.
Namespace
Symfony\Component\Console\DescriptorCode
public function getCommandDocument(Command $command, bool $short = false) : \DOMDocument {
$dom = new \DOMDocument('1.0', 'UTF-8');
$dom->appendChild($commandXML = $dom->createElement('command'));
$commandXML->setAttribute('id', $command->getName());
$commandXML->setAttribute('name', $command->getName());
$commandXML->setAttribute('hidden', $command->isHidden() ? 1 : 0);
$commandXML->appendChild($usagesXML = $dom->createElement('usages'));
$commandXML->appendChild($descriptionXML = $dom->createElement('description'));
$descriptionXML->appendChild($dom->createTextNode(str_replace("\n", "\n ", $command->getDescription())));
if ($short) {
foreach ($command->getAliases() as $usage) {
$usagesXML->appendChild($dom->createElement('usage', $usage));
}
}
else {
$command->mergeApplicationDefinition(false);
foreach (array_merge([
$command->getSynopsis(),
], $command->getAliases(), $command->getUsages()) as $usage) {
$usagesXML->appendChild($dom->createElement('usage', $usage));
}
$commandXML->appendChild($helpXML = $dom->createElement('help'));
$helpXML->appendChild($dom->createTextNode(str_replace("\n", "\n ", $command->getProcessedHelp())));
$definitionXML = $this->getInputDefinitionDocument($command->getDefinition());
$this->appendDocument($commandXML, $definitionXML->getElementsByTagName('definition')
->item(0));
}
return $dom;
}