Chris@13: presenter = $presenter; Chris@13: } Chris@13: Chris@13: /** Chris@13: * {@inheritdoc} Chris@13: */ Chris@13: protected function configure() Chris@13: { Chris@13: $this Chris@13: ->setName('dump') Chris@13: ->setDefinition([ Chris@13: new CodeArgument('target', CodeArgument::REQUIRED, 'A target object or primitive to dump.'), Chris@13: new InputOption('depth', '', InputOption::VALUE_REQUIRED, 'Depth to parse.', 10), Chris@13: new InputOption('all', 'a', InputOption::VALUE_NONE, 'Include private and protected methods and properties.'), Chris@13: ]) Chris@13: ->setDescription('Dump an object or primitive.') Chris@13: ->setHelp( Chris@13: <<<'HELP' Chris@13: Dump an object or primitive. Chris@13: Chris@13: This is like var_dump but way awesomer. Chris@13: Chris@13: e.g. Chris@13: >>> dump $_ Chris@13: >>> dump $someVar Chris@13: >>> dump $stuff->getAll() Chris@13: HELP Chris@13: ); Chris@13: } Chris@13: Chris@13: /** Chris@13: * {@inheritdoc} Chris@13: */ Chris@13: protected function execute(InputInterface $input, OutputInterface $output) Chris@13: { Chris@13: $depth = $input->getOption('depth'); Chris@13: $target = $this->resolveCode($input->getArgument('target')); Chris@13: $output->page($this->presenter->present($target, $depth, $input->getOption('all') ? Presenter::VERBOSE : 0)); Chris@13: Chris@17: if (\is_object($target)) { Chris@13: $this->setCommandScopeVariables(new \ReflectionObject($target)); Chris@13: } Chris@13: } Chris@13: Chris@13: /** Chris@13: * @deprecated Use `resolveCode` instead Chris@13: * Chris@13: * @param string $name Chris@13: * Chris@13: * @return mixed Chris@13: */ Chris@13: protected function resolveTarget($name) Chris@13: { Chris@17: @\trigger_error('`resolveTarget` is deprecated; use `resolveCode` instead.', E_USER_DEPRECATED); Chris@13: Chris@13: return $this->resolveCode($name); Chris@13: } Chris@13: }