2015-05-21 1 views
0

У меня есть файл в testBundle> Command> ReportCommand.php, где я хочу установить флеш-сообщение, как показано ниже, но оно не работает. Я также добавил это пространство имен, но он не работает слишком: -use Symfony\Component\HttpFoundation\Request;Как установить сеанс флэш-сообщения в commad symfony2?

  $this->get('session')->getFlashBag()->add(
        'notice', sprintf('%s email sent!', str_replace('_', ' ', ucfirst($type))) 
      ); 
+0

Запустите ReportCommand из командной строки? Если да, в этом случае сеанс отсутствует. – limitium

+0

Почему вы хотите установить флэш-сообщения? нужно знать цель того, чего вы хотите достичь, чтобы дать вам правильный ответ, потому что теперь вы хотите что-то сделать, но мы не знаем, для чего, где вы хотите показать уведомление? –

ответ

1

Вы не можете использовать сессии из командной строки, вы можете использовать их только с HTTP способом. Попробуйте сохранить ваше сообщение другим способом:

  • В файле
  • В базе данных MySQL
  • в кэш памяти (например, Redis)
  • и т.д ...
0
You can use outer interface to show the message on command prompt. 

use Symfony\Component\Console\Input\InputInterface; 
use Symfony\Component\Console\Output\OutputInterface; 

class classname extends ContainerAwareCommand { 
    protected function configure() 
    { 
     // command details 
    } 

    protected function execute(InputInterface $input, OutputInterface $output) 
    { 
     // your script code 
     $output->writeln("Your message"); 
    } 
} 
Смежные вопросы