name: ConfigDebugCommand class_comment: null dependencies: - name: ConfigurationInterface type: class source: Symfony\Component\Config\Definition\ConfigurationInterface - name: Processor type: class source: Symfony\Component\Config\Definition\Processor - name: AsCommand type: class source: Symfony\Component\Console\Attribute\AsCommand - name: CompletionInput type: class source: Symfony\Component\Console\Completion\CompletionInput - name: CompletionSuggestions type: class source: Symfony\Component\Console\Completion\CompletionSuggestions - name: InvalidArgumentException type: class source: Symfony\Component\Console\Exception\InvalidArgumentException - name: LogicException type: class source: Symfony\Component\Console\Exception\LogicException - name: InputArgument type: class source: Symfony\Component\Console\Input\InputArgument - name: InputInterface type: class source: Symfony\Component\Console\Input\InputInterface - name: InputOption type: class source: Symfony\Component\Console\Input\InputOption - name: OutputInterface type: class source: Symfony\Component\Console\Output\OutputInterface - name: SymfonyStyle type: class source: Symfony\Component\Console\Style\SymfonyStyle - name: ValidateEnvPlaceholdersPass type: class source: Symfony\Component\DependencyInjection\Compiler\ValidateEnvPlaceholdersPass - name: ContainerBuilder type: class source: Symfony\Component\DependencyInjection\ContainerBuilder - name: ConfigurationExtensionInterface type: class source: Symfony\Component\DependencyInjection\Extension\ConfigurationExtensionInterface - name: ExtensionInterface type: class source: Symfony\Component\DependencyInjection\Extension\ExtensionInterface - name: Yaml type: class source: Symfony\Component\Yaml\Yaml properties: [] methods: - name: getConfigForPath visibility: private parameters: - name: config - name: path - name: alias comment: "# * A console command for dumping available configuration reference.\n\ # *\n# * @author Gr\xE9goire Pineau \n# *\n# * @final\n# */\n\ # #[AsCommand(name: 'debug:config', description: 'Dump the current configuration\ \ for an extension')]\n# class ConfigDebugCommand extends AbstractConfigCommand\n\ # {\n# protected function configure(): void\n# {\n# $this\n# ->setDefinition([\n\ # new InputArgument('name', InputArgument::OPTIONAL, 'The bundle name or the extension\ \ alias'),\n# new InputArgument('path', InputArgument::OPTIONAL, 'The configuration\ \ option path'),\n# new InputOption('resolve-env', null, InputOption::VALUE_NONE,\ \ 'Display resolved environment variable values instead of placeholders'),\n#\ \ new InputOption('format', null, InputOption::VALUE_REQUIRED, \\sprintf('The\ \ output format (\"%s\")', implode('\", \"', $this->getAvailableFormatOptions())),\ \ class_exists(Yaml::class) ? 'txt' : 'json'),\n# ])\n# ->setHelp(<<%command.name% command dumps the current configuration for an\n\ # extension/bundle.\n# \n# Either the extension alias or bundle name can be used:\n\ # \n# php %command.full_name% framework\n# php %command.full_name%\ \ FrameworkBundle\n# \n# The --format option specifies the\ \ format of the command output:\n# \n# php %command.full_name% framework\ \ --format=json\n# \n# For dumping a specific option, add its path as second\ \ argument:\n# \n# php %command.full_name% framework serializer.enabled\n\ # \n# EOF\n# )\n# ;\n# }\n# \n# protected function execute(InputInterface $input,\ \ OutputInterface $output): int\n# {\n# $io = new SymfonyStyle($input, $output);\n\ # $errorIo = $io->getErrorStyle();\n# \n# if (null === $name = $input->getArgument('name'))\ \ {\n# $this->listBundles($errorIo);\n# $this->listNonBundleExtensions($errorIo);\n\ # \n# $errorIo->comment('Provide the name of a bundle as the first argument of\ \ this command to dump its configuration. (e.g. debug:config FrameworkBundle)');\n\ # $errorIo->comment('For dumping a specific option, add its path as the second\ \ argument of this command. (e.g. debug:config FrameworkBundle serializer\ \ to dump the framework.serializer configuration)');\n# \n\ # return 0;\n# }\n# \n# $extension = $this->findExtension($name);\n# $extensionAlias\ \ = $extension->getAlias();\n# $container = $this->compileContainer();\n# \n#\ \ $config = $this->getConfig($extension, $container, $input->getOption('resolve-env'));\n\ # \n# $format = $input->getOption('format');\n# \n# if (\\in_array($format, ['txt',\ \ 'yml'], true) && !class_exists(Yaml::class)) {\n# $errorIo->error('Setting the\ \ \"format\" option to \"txt\" or \"yaml\" requires the Symfony Yaml component.\ \ Try running \"composer install symfony/yaml\" or use \"--format=json\" instead.');\n\ # \n# return 1;\n# }\n# \n# if (null === $path = $input->getArgument('path'))\ \ {\n# if ('txt' === $input->getOption('format')) {\n# $io->title(\n# \\sprintf('Current\ \ configuration for %s', $name === $extensionAlias ? \\sprintf('extension with\ \ alias \"%s\"', $extensionAlias) : \\sprintf('\"%s\"', $name))\n# );\n# }\n#\ \ \n# $io->writeln($this->convertToFormat([$extensionAlias => $config], $format));\n\ # \n# return 0;\n# }\n# \n# try {\n# $config = $this->getConfigForPath($config,\ \ $path, $extensionAlias);\n# } catch (LogicException $e) {\n# $errorIo->error($e->getMessage());\n\ # \n# return 1;\n# }\n# \n# $io->title(\\sprintf('Current configuration for \"\ %s.%s\"', $extensionAlias, $path));\n# \n# $io->writeln($this->convertToFormat($config,\ \ $format));\n# \n# return 0;\n# }\n# \n# private function convertToFormat(mixed\ \ $config, string $format): string\n# {\n# return match ($format) {\n# 'txt',\ \ 'yaml' => Yaml::dump($config, 10),\n# 'json' => json_encode($config, \\JSON_PRETTY_PRINT\ \ | \\JSON_UNESCAPED_SLASHES | \\JSON_UNESCAPED_UNICODE),\n# default => throw\ \ new InvalidArgumentException(\\sprintf('Supported formats are \"%s\".', implode('\"\ , \"', $this->getAvailableFormatOptions()))),\n# };\n# }\n# \n# private function\ \ compileContainer(): ContainerBuilder\n# {\n# $kernel = clone $this->getApplication()->getKernel();\n\ # $kernel->boot();\n# \n# $method = new \\ReflectionMethod($kernel, 'buildContainer');\n\ # $container = $method->invoke($kernel);\n# $container->getCompiler()->compile($container);\n\ # \n# return $container;\n# }\n# \n# /**\n# * Iterate over configuration until\ \ the last step of the given path.\n# *\n# * @throws LogicException If the configuration\ \ does not exist" - name: getConfigForExtension visibility: private parameters: - name: extension - name: container comment: null - name: complete visibility: public parameters: - name: input - name: suggestions comment: null - name: getAvailableExtensions visibility: private parameters: [] comment: null - name: getAvailableBundles visibility: private parameters: [] comment: null - name: getConfig visibility: private parameters: - name: extension - name: container - name: resolveEnvs default: 'false' comment: null - name: buildPathsCompletion visibility: private parameters: - name: paths - name: prefix default: '''''' comment: null - name: getAvailableFormatOptions visibility: private parameters: [] comment: '# @return string[]' traits: - Symfony\Component\Config\Definition\ConfigurationInterface - Symfony\Component\Config\Definition\Processor - Symfony\Component\Console\Attribute\AsCommand - Symfony\Component\Console\Completion\CompletionInput - Symfony\Component\Console\Completion\CompletionSuggestions - Symfony\Component\Console\Exception\InvalidArgumentException - Symfony\Component\Console\Exception\LogicException - Symfony\Component\Console\Input\InputArgument - Symfony\Component\Console\Input\InputInterface - Symfony\Component\Console\Input\InputOption - Symfony\Component\Console\Output\OutputInterface - Symfony\Component\Console\Style\SymfonyStyle - Symfony\Component\DependencyInjection\Compiler\ValidateEnvPlaceholdersPass - Symfony\Component\DependencyInjection\ContainerBuilder - Symfony\Component\DependencyInjection\Extension\ConfigurationExtensionInterface - Symfony\Component\DependencyInjection\Extension\ExtensionInterface - Symfony\Component\Yaml\Yaml interfaces: []