Мне трудно добавлять уведомления в symfony

#php #symfony #notifications #symfony4

#php #symfony #уведомления #symfony4

Вопрос:

Мне трудно добавлять уведомления в symfony

Я использую этот пакет https://github.com/maximilienGilet/notification-bundle

Я следил за документом, но столкнулся с трудностями

Это то, что я добавил в контроллер (добавить уведомление)

         $manager = $this->get('mgilet.notification');
        $notif = $manager->createNotification('Nouveau candidat !');
        $notif->setMessage('X a entré un candidat');
        $notif->setLink('http://symfony.com/');
        $manager->addNotification(array($this->getUser()), $notif, true);

        return $this->redirectToRoute('index');
  

И это то, что я добавил в twig
{{ mgilet_notification_render(app.user) }}

Но после добавления annonce я вижу эту ошибку

Служба «mgilet.notification» не найдена: несмотря на то, что она существует в контейнере приложения, контейнер внутри «App Controller TestController» представляет собой меньший локатор служб, который знает только о «doctrine», «form.factory», «http_kernel», «parameter_bag», «request_stack», «маршрутизатор», «security.authorization_checker», «security.csrf.token_manager», «security.token_storage», «сериализатор», «сеанс», «шаблоны» и «веточка» сервисы. Попробуйте вместо этого использовать внедрение зависимостей.

Комментарии:

1. Версия Symfony?

2. я использую symfony 4

Ответ №1:

В функции контроллера попробуйте вместо этого использовать внедрение зависимостей следующим образом:

 public function controllerFunction(MgiletNotificationBundleManagerNotificationManager $manager)
{
    $notif = $manager->createNotification('Nouveau candidat !');
    $notif->setMessage('X a entré un candidat');
    $notif->setLink('http://symfony.com/');
    $manager->addNotification(array($this->getUser()), $notif, true);

    return $this->redirectToRoute('index');
}
  

Комментарии:

1. Спасибо за ваш ответ, ошибка исчезла, но я не вижу уведомлений с помощью twig, также $notif не добавляется в уведомление таблицы в базе данных