0

刚开始看到这个。调试工具栏加载失败。日志文件中的错误是:

[2016-07-29 08:49:48] request.CRITICAL:未捕获的 PHP 异常 Twig_Error_Runtime:“既不是属性“控制器”也不是方法之一“控制器()”,“getcontroller()”/“iscontroller()”或“__call()”存在并在 /Volumes/Data01/VMShares/BeckComputerSystems/WarehouseWebUserInterface/WWUI 的“@WebProfiler/Collector/request.html.twig”第 12 行的类“SiteBundle\Library\Session”中具有公共访问权限/var/cache/dev/classes.php 第 5481 行

真正让我困惑的是对我的自定义 Session 类的引用。我完全不知道为什么请求数据收集器会期望 Session 对象可以访问控制器。

如果我在 Symfony\Component\HttpKernel\DataCollector 的 serialize() 方法中设置一个断点,我可以看到 $this->data->redirect 是我的自定义 Session 类的一个对象。再次,不知道为什么。

这只发生在重定向上,并且只发生在工具栏上。页面本身加载良好。

帮助将不胜感激。

4

1 回答 1

0

原来这是我的错——大惊喜:-)

我的自定义 Session 类向基 Session 类添加了一个流畅的接口。

当我实现 remove() 方法时,我没有注意到基类返回了被删除的值。我的实现丢弃了它并返回了会话。这导致 RequestDataCollector::collect() 方法存储我的会话对象而不是 sf_redirect 的值。

于 2016-08-01T16:44:21.817 回答