1
アドバイスが必要です。 今見ている記事を更新したいです。 まず、リスナーにEMを挿入します。しかし、私には思えたように、symfonyのための読み込み記事の記事IDを得るためにurlを解析してください。Symfonyがリスナーにエンティティを注入する
services:
app.articles.action_listener:
class: FrontendBundle\EventListener\ArticleListener
tags:
- { name: kernel.event_listener, event: kernel.controller, method: onKernelController }
arguments: ['@doctrine.orm.entity_manager']
エンティティをコントローラ内で取得する方法はありますか?任意の助け
/**
* @Route("/{id}", requirements={"page": "\d+"}, name="article_view_full")
*
* @param Article $article
*
* @return \Symfony\Component\HttpFoundation\RedirectResponse|\Symfony\Component\HttpFoundation\Response
*/
public function viewAction(Article $article)
UPDATE
/**
* Class ArticleListener
* @package FrontendBundle\EventListener
*/
class ArticleListener
{
/**
* @type EntityManager
*/
private $manager;
/**
* ArticleListener constructor.
*
* @param EntityManager $manager
*/
public function __construct(EntityManager $manager)
{
$this->manager = $manager;
}
/**
* @param $event
*/
public function onKernelController($event)
{
$controller = $event->getController();
if (!is_array($controller)) {
return;
}
if ($controller[0] instanceof ArticlesController && $controller[1] == 'viewAction') {
// THIS IS THE FULL ARTICLE VIEW. HERE I NEED TO GET CURRENT ARTICLE INSTANCE AND UPDATE VIEWS COLUMN IN DB.
}
}
}
Thxを。
ArticleListenerを見ることはできますか?なぜこのリスナーのエンティティを更新しないのですか? –