api/symfony/Bundle/FrameworkBundle/Command/ContainerDebugCommand.yaml
2024-09-26 02:03:21 -07:00

220 lines
13 KiB
YAML

name: ContainerDebugCommand
class_comment: null
dependencies:
- name: DescriptorHelper
type: class
source: Symfony\Bundle\FrameworkBundle\Console\Helper\DescriptorHelper
- name: AsCommand
type: class
source: Symfony\Component\Console\Attribute\AsCommand
- name: Command
type: class
source: Symfony\Component\Console\Command\Command
- 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: 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: ContainerBuilder
type: class
source: Symfony\Component\DependencyInjection\ContainerBuilder
- name: ServiceNotFoundException
type: class
source: Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException
- name: ParameterBag
type: class
source: Symfony\Component\DependencyInjection\ParameterBag\ParameterBag
- name: BuildDebugContainerTrait
type: class
source: BuildDebugContainerTrait
properties: []
methods:
- name: validateInput
visibility: protected
parameters:
- name: input
comment: "# * A console command for retrieving information about services.\n# *\n\
# * @author Ryan Weaver <ryan@thatsquality.com>\n# *\n# * @internal\n# */\n# #[AsCommand(name:\
\ 'debug:container', description: 'Display current services for an application')]\n\
# class ContainerDebugCommand extends Command\n# {\n# use BuildDebugContainerTrait;\n\
# \n# protected function configure(): void\n# {\n# $this\n# ->setDefinition([\n\
# new InputArgument('name', InputArgument::OPTIONAL, 'A service name (foo)'),\n\
# new InputOption('show-arguments', null, InputOption::VALUE_NONE, 'Show arguments\
\ in services'),\n# new InputOption('show-hidden', null, InputOption::VALUE_NONE,\
\ 'Show hidden (internal) services'),\n# new InputOption('tag', null, InputOption::VALUE_REQUIRED,\
\ 'Show all services with a specific tag'),\n# new InputOption('tags', null, InputOption::VALUE_NONE,\
\ 'Display tagged services for an application'),\n# new InputOption('parameter',\
\ null, InputOption::VALUE_REQUIRED, 'Display a specific parameter for an application'),\n\
# new InputOption('parameters', null, InputOption::VALUE_NONE, 'Display parameters\
\ for an application'),\n# new InputOption('types', null, InputOption::VALUE_NONE,\
\ 'Display types (classes/interfaces) available in the container'),\n# new InputOption('env-var',\
\ null, InputOption::VALUE_REQUIRED, 'Display a specific environment variable\
\ used in the container'),\n# new InputOption('env-vars', null, InputOption::VALUE_NONE,\
\ 'Display environment variables used in the container'),\n# new InputOption('format',\
\ null, InputOption::VALUE_REQUIRED, \\sprintf('The output format (\"%s\")', implode('\"\
, \"', $this->getAvailableFormatOptions())), 'txt'),\n# new InputOption('raw',\
\ null, InputOption::VALUE_NONE, 'To output raw description'),\n# new InputOption('deprecations',\
\ null, InputOption::VALUE_NONE, 'Display deprecations generated when compiling\
\ and warming up the container'),\n# ])\n# ->setHelp(<<<'EOF'\n# The <info>%command.name%</info>\
\ command displays all configured <comment>public</comment> services:\n# \n# <info>php\
\ %command.full_name%</info>\n# \n# To see deprecations generated during container\
\ compilation and cache warmup, use the <info>--deprecations</info> option:\n\
# \n# <info>php %command.full_name% --deprecations</info>\n# \n# To get specific\
\ information about a service, specify its name:\n# \n# <info>php %command.full_name%\
\ validator</info>\n# \n# To get specific information about a service including\
\ all its arguments, use the <info>--show-arguments</info> flag:\n# \n# <info>php\
\ %command.full_name% validator --show-arguments</info>\n# \n# To see available\
\ types that can be used for autowiring, use the <info>--types</info> flag:\n\
# \n# <info>php %command.full_name% --types</info>\n# \n# To see environment variables\
\ used by the container, use the <info>--env-vars</info> flag:\n# \n# <info>php\
\ %command.full_name% --env-vars</info>\n# \n# Display a specific environment\
\ variable by specifying its name with the <info>--env-var</info> option:\n# \n\
# <info>php %command.full_name% --env-var=APP_ENV</info>\n# \n# Use the --tags\
\ option to display tagged <comment>public</comment> services grouped by tag:\n\
# \n# <info>php %command.full_name% --tags</info>\n# \n# Find all services with\
\ a specific tag by specifying the tag name with the <info>--tag</info> option:\n\
# \n# <info>php %command.full_name% --tag=form.type</info>\n# \n# Use the <info>--parameters</info>\
\ option to display all parameters:\n# \n# <info>php %command.full_name% --parameters</info>\n\
# \n# Display a specific parameter by specifying its name with the <info>--parameter</info>\
\ option:\n# \n# <info>php %command.full_name% --parameter=kernel.debug</info>\n\
# \n# By default, internal services are hidden. You can display them\n# using\
\ the <info>--show-hidden</info> flag:\n# \n# <info>php %command.full_name% --show-hidden</info>\n\
# \n# The <info>--format</info> option specifies the format of the command output:\n\
# \n# <info>php %command.full_name% --format=json</info>\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# $this->validateInput($input);\n# $kernel = $this->getApplication()->getKernel();\n\
# $object = $this->getContainerBuilder($kernel);\n# \n# if ($input->getOption('env-vars'))\
\ {\n# $options = ['env-vars' => true];\n# } elseif ($envVar = $input->getOption('env-var'))\
\ {\n# $options = ['env-vars' => true, 'name' => $envVar];\n# } elseif ($input->getOption('types'))\
\ {\n# $options = [];\n# $options['filter'] = $this->filterToServiceTypes(...);\n\
# } elseif ($input->getOption('parameters')) {\n# $parameters = [];\n# $parameterBag\
\ = $object->getParameterBag();\n# foreach ($parameterBag->all() as $k => $v)\
\ {\n# $parameters[$k] = $object->resolveEnvPlaceholders($v);\n# }\n# $object\
\ = new ParameterBag($parameters);\n# if ($parameterBag instanceof ParameterBag)\
\ {\n# foreach ($parameterBag->allDeprecated() as $k => $deprecation) {\n# $object->deprecate($k,\
\ ...$deprecation);\n# }\n# }\n# $options = [];\n# } elseif ($parameter = $input->getOption('parameter'))\
\ {\n# $options = ['parameter' => $parameter];\n# } elseif ($input->getOption('tags'))\
\ {\n# $options = ['group_by' => 'tags'];\n# } elseif ($tag = $input->getOption('tag'))\
\ {\n# $tag = $this->findProperTagName($input, $errorIo, $object, $tag);\n# $options\
\ = ['tag' => $tag];\n# } elseif ($name = $input->getArgument('name')) {\n# $name\
\ = $this->findProperServiceName($input, $errorIo, $object, $name, $input->getOption('show-hidden'));\n\
# $options = ['id' => $name];\n# } elseif ($input->getOption('deprecations'))\
\ {\n# $options = ['deprecations' => true];\n# } else {\n# $options = [];\n# }\n\
# \n# $helper = new DescriptorHelper();\n# $options['format'] = $input->getOption('format');\n\
# $options['show_arguments'] = $input->getOption('show-arguments');\n# $options['show_hidden']\
\ = $input->getOption('show-hidden');\n# $options['raw_text'] = $input->getOption('raw');\n\
# $options['output'] = $io;\n# $options['is_debug'] = $kernel->isDebug();\n# \n\
# try {\n# $helper->describe($io, $object, $options);\n# \n# if ('txt' === $options['format']\
\ && isset($options['id'])) {\n# if ($object->hasDefinition($options['id'])) {\n\
# $definition = $object->getDefinition($options['id']);\n# if ($definition->isDeprecated())\
\ {\n# $errorIo->warning($definition->getDeprecation($options['id'])['message']\
\ ?? \\sprintf('The \"%s\" service is deprecated.', $options['id']));\n# }\n#\
\ }\n# if ($object->hasAlias($options['id'])) {\n# $alias = $object->getAlias($options['id']);\n\
# if ($alias->isDeprecated()) {\n# $errorIo->warning($alias->getDeprecation($options['id'])['message']\
\ ?? \\sprintf('The \"%s\" alias is deprecated.', $options['id']));\n# }\n# }\n\
# }\n# \n# if (isset($options['id']) && isset($kernel->getContainer()->getRemovedIds()[$options['id']]))\
\ {\n# $errorIo->note(\\sprintf('The \"%s\" service or alias has been removed\
\ or inlined when the container was compiled.', $options['id']));\n# }\n# } catch\
\ (ServiceNotFoundException $e) {\n# if ('' !== $e->getId() && '@' === $e->getId()[0])\
\ {\n# throw new ServiceNotFoundException($e->getId(), $e->getSourceId(), null,\
\ [substr($e->getId(), 1)]);\n# }\n# \n# throw $e;\n# }\n# \n# if (!$input->getArgument('name')\
\ && !$input->getOption('tag') && !$input->getOption('parameter') && !$input->getOption('env-vars')\
\ && !$input->getOption('env-var') && $input->isInteractive()) {\n# if ($input->getOption('tags'))\
\ {\n# $errorIo->comment('To search for a specific tag, re-run this command with\
\ a search term. (e.g. <comment>debug:container --tag=form.type</comment>)');\n\
# } elseif ($input->getOption('parameters')) {\n# $errorIo->comment('To search\
\ for a specific parameter, re-run this command with a search term. (e.g. <comment>debug:container\
\ --parameter=kernel.debug</comment>)');\n# } elseif (!$input->getOption('deprecations'))\
\ {\n# $errorIo->comment('To search for a specific service, re-run this command\
\ with a search term. (e.g. <comment>debug:container log</comment>)');\n# }\n\
# }\n# \n# return 0;\n# }\n# \n# public function complete(CompletionInput $input,\
\ CompletionSuggestions $suggestions): void\n# {\n# if ($input->mustSuggestOptionValuesFor('format'))\
\ {\n# $suggestions->suggestValues($this->getAvailableFormatOptions());\n# \n\
# return;\n# }\n# \n# $kernel = $this->getApplication()->getKernel();\n# $object\
\ = $this->getContainerBuilder($kernel);\n# \n# if ($input->mustSuggestArgumentValuesFor('name')\n\
# && !$input->getOption('tag') && !$input->getOption('tags')\n# && !$input->getOption('parameter')\
\ && !$input->getOption('parameters')\n# && !$input->getOption('env-var') && !$input->getOption('env-vars')\n\
# && !$input->getOption('types') && !$input->getOption('deprecations')\n# ) {\n\
# $suggestions->suggestValues($this->findServiceIdsContaining(\n# $object,\n#\
\ $input->getCompletionValue(),\n# (bool) $input->getOption('show-hidden')\n#\
\ ));\n# \n# return;\n# }\n# \n# if ($input->mustSuggestOptionValuesFor('tag'))\
\ {\n# $suggestions->suggestValues($object->findTags());\n# \n# return;\n# }\n\
# \n# if ($input->mustSuggestOptionValuesFor('parameter')) {\n# $suggestions->suggestValues(array_keys($object->getParameterBag()->all()));\n\
# }\n# }\n# \n# /**\n# * Validates input arguments and options.\n# *\n# * @throws\
\ \\InvalidArgumentException"
- name: findProperServiceName
visibility: private
parameters:
- name: input
- name: io
- name: container
- name: name
- name: showHidden
comment: null
- name: findProperTagName
visibility: private
parameters:
- name: input
- name: io
- name: container
- name: tagName
comment: null
- name: findServiceIdsContaining
visibility: private
parameters:
- name: container
- name: name
- name: showHidden
comment: null
- name: findTagsContaining
visibility: private
parameters:
- name: container
- name: tagName
comment: null
- name: filterToServiceTypes
visibility: public
parameters:
- name: serviceId
comment: '# * @internal'
- name: getAvailableFormatOptions
visibility: private
parameters: []
comment: '# @return string[]'
traits:
- Symfony\Bundle\FrameworkBundle\Console\Helper\DescriptorHelper
- Symfony\Component\Console\Attribute\AsCommand
- Symfony\Component\Console\Command\Command
- Symfony\Component\Console\Completion\CompletionInput
- Symfony\Component\Console\Completion\CompletionSuggestions
- Symfony\Component\Console\Exception\InvalidArgumentException
- 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\ContainerBuilder
- Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException
- Symfony\Component\DependencyInjection\ParameterBag\ParameterBag
- BuildDebugContainerTrait
interfaces: []