本文整理汇总了PHP中Symfony\Component\Config\Definition\NodeInterface::getAttribute方法的典型用法代码示例。如果您正苦于以下问题:PHP NodeInterface::getAttribute方法的具体用法?PHP NodeInterface::getAttribute怎么用?PHP NodeInterface::getAttribute使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Symfony\Component\Config\Definition\NodeInterface
的用法示例。
在下文中一共展示了NodeInterface::getAttribute方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: writeNodeQuestion
/**
* Present a node question to the user
*
* @param NodeInterface $node The node in question
* @param string $name The name of the node
* @return mixed The new value of the node
*/
private function writeNodeQuestion($node, $name)
{
if (!$this->questionInfoShown) {
$this->io->write(array("<comment> ! [NOTE] You can change all the configuration options later", " ! on the config.yml file in the app folder</>\n"));
$this->questionInfoShown = true;
}
if (!$node->getAttribute('asked')) {
return $node->getDefaultValue();
}
$this->writeWarning($node);
if ($info = $node->getInfo()) {
$this->io->write(" {$info}");
}
if ($example = $node->getExample()) {
// We use Inline::dump() to convert the value to the YAML
// format so that it is readable by the user (as an example,
// false values are converted to 'false' instead of an empty
// string)
$example = Inline::dump($example);
$this->io->write(" Example: <comment>{$example}</comment>");
}
$question = " <fg=green>{$name}";
if ($node instanceof EnumNode) {
// Create list of possible values for enum configuration parameters
$values = $node->getValues();
foreach ($values as &$value) {
$value = Inline::dump($value);
}
$question .= ' (' . implode(', ', $values) . ')';
}
$question .= "</fg=green>";
if ($node->hasDefaultValue()) {
// Show the default value of the parameter
$default = Inline::dump($node->getDefaultValue());
$question .= " [<comment>{$default}</comment>]";
} else {
$default = null;
}
// Show a user-friendly prompt
$question .= ":\n > ";
$value = $this->io->askAndValidate($question, function ($value) use($node) {
$value = Inline::parse($value);
// Make sure that there are no errors
$node->finalize($value);
return $value;
}, null, $default);
$this->io->write("");
return $value;
}