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