Symfony 4 - 仅在Profiler中的@ParamConverter注释中找不到对象

时间:2018-01-25 17:13:25

标签: php symfony

问题仅出现在调试工具栏中。

这是我怀疑导致问题的代码

a = 'alot of words for a keyname'
b = 17.47

my_dict = {a:["sing along song", "the voice of"], b:(12, 'candidates', None, "wins")}

print my_dict.keys()

它是ParamConverter的唯一部分,也是错误之前唯一的修改部分。

页面正确显示,找到所有内容,调试工具栏不再有错误消息:

/**
   * @Route("/{category_slug}/{slug}", name="content_show")
   * @ParamConverter("content", options={"mapping": {"slug": "slug"}})
   * @ParamConverter("category", options={"mapping": {"category_slug": "slug"}})
   * @Method("GET")
   */
  public function show(Category $category, Content $content): Response
  {
    $contents = $category->getContents();
    return $this->render('content/show.html.twig', array(
      'category' => $category,
      'list' => $contents,
      'content' => $content,
    ));
  }

内心:

An error occurred while loading the web debug toolbar. Open the web profiler.

使用NotFoundHttpException

我清除了缓存,没有任何改变。 代码仍然有效,但没有工具栏是痛苦的,我无法弄清楚导致这个的原因..

我尝试过其他注释,例如:

App\Entity\Content object not found by the @ParamConverter annotation.

等。 唯一的区别是,如果我从paramconverter中删除内容,它仍然有效,但错误是在类别上。

提前致谢。

编辑:PHP 7.1.9
作曲家json:

  /**
    * @Route("/{category_slug}/{slug}", name="content_show")
    * @ParamConverter("category", class="App\Entity\Category", options={"mapping": {"category_slug": "slug"}})
    * @Method("GET")
    */

1 个答案:

答案 0 :(得分:1)

我在网上看到了很多与您的错误有关的错误,我也遇到了错误,我使用的是CRUD,并且我的网址与以前的路由之一匹配。

我只是发现此命令php bin/console router:match url 通过给我使用了什么路线以及它如何匹配为我提供了帮助。 我认为这真的很有用,应该分享。