【问题标题】:Symfony 4 dump function doesn't work properlySymfony 4 转储功能无法正常工作
【发布时间】:2019-05-17 07:53:39
【问题描述】:

我正在开发一些 REST API,并且转储函数在我的开发环境中停止工作,它不显示任何有关任何内容的信息或返回通常的输出

我尝试使用 dump() 函数(来自 /vendor/symfony/var-dumper/Resources/functions/dump.php 文件)和\Symfony\Component\VarDumper\VarDumper::dump() 函数具有相同的结果:它不显示任何内容或抛出 php 异常。

另外,我已经尝试了两种方法:使用常规调试命令(即 bin/console config:dump-reference)并重新安装调试包

在这个例子中,我的程序返回一个通知:数组到字符串的转换

$foo = array("asdads", "czxcxzc");
dump($foo);

在另一个示例中,响应为空

$foo = "bar";
dump($foo);

我只需要这个函数的常规输出:对于调试和查看我的程序发生了什么非常有用

【问题讨论】:

  • 您的问题到底是什么?你能添加一些代码/示例吗?
  • 我刚刚添加了一些代码示例,并试图更具体地解决问题(srry,有点菜鸟)
  • 你在开发环境吗?
  • 是的,我在我的开发环境中
  • 您有config/packages/debug.yaml 文件吗?如果有,请发帖

标签: php symfony4


【解决方案1】:

我想我已经弄清楚了。

问题是我在主控制器类 (App\Controller) 上添加了 __destruct() 方法

应用\控制器

abstract class Controller implements ContainerAwareInterface
{

use ContainerAwareTrait;
use ControllerTrait;    
...
public function __destruct()
{
   //Some stuffs here
}

我不知道为什么,但是这种方法避免了加载其中一些调试方法(可能是其他一些功能,但不确定)

解决方案(目前)是将此 __destruct() 方法移至我的应用程序主控制器。现在一切都像魅力一样运作

【讨论】:

  • 我真的很好奇你必须在 __destruct 方法中放入什么样的东西。
  • 这是最奇怪的东西:独白函数!
  • 设计得太过分了。
猜你喜欢
  • 2020-02-18
  • 1970-01-01
  • 2017-09-23
  • 1970-01-01
  • 1970-01-01
  • 2013-11-06
  • 2013-10-29
  • 1970-01-01
相关资源
最近更新 更多