force dump()-VarDumper输出文本

时间:2016-08-09 20:21:42

标签: symfony

我在Symfony 3中编写API,我想使用Symfony VarDumper dump()函数。但是dump()输出的HTML在我的情况下相当烦人。 (我调用API的客户端不呈现HTML)

我希望输出是纯文本,JSON,Yaml,或者至少是当它处于CLI模式时dump()将使用的输出。

这样做的好方法是什么?

3 个答案:

答案 0 :(得分:0)

假设你已经在控制器中渲染了一个像这样的树枝文件:

return $this->render('admin/maintain_divisions.html.twig', array(
        'form' => $form->createView(),
        'var' => $variable,
));

var是可变的;然后在twig文件中使用:

{{ dump(var) }}

变量可以是任何东西,甚至是学说结果集。

在控制器中,您可以使用:

var_dump($variable);

这是一个PHP函数。

答案 1 :(得分:0)

我能够使用以下代码通过执行此操作将dump()输出为text / cli格式而不是HTML

use Symfony\Component\VarDumper\Cloner\VarCloner;
use Symfony\Component\VarDumper\Dumper\CliDumper;
use Symfony\Component\VarDumper\VarDumper;

//................

CliDumper::$defaultOutput = 'php://output';
VarDumper::setHandler(function ($var) {
    $cloner = new VarCloner();
    $dumper = new CliDumper();
    $dumper->dump($cloner->cloneVar($var));
});

dump($debugMe);

我还可以提一下,我不鼓励在symfony应用程序中使用print_r()来调试var_dump(),通常输出会更混乱和杂乱,并且因为什么原因print_r()没有甚至在某些场合工作。

答案 2 :(得分:0)

另一种选择是使用geom_text

DT %>% 
  ggplot() + 
  geom_label(data = DT, 
             aes(x = x_, y = 'dummy', label = y_, fill = group_, group = group_)) +
  geom_rect(aes(xmin = 0.75, xmax = 3.25, ymin = 0.97, ymax = 1.03),
            color = "black", fill = "#F8766D") +
  geom_text(aes(x = 2, y = 1, label = "okokok"), check_overlap = TRUE)
symfony/var-exporter

https://github.com/symfony/var-exporter