如何在commad symfony2中设置会话flash消息?

时间:2015-05-21 20:04:31

标签: symfony

我在testBundle> Command> ReportCommand.php中有一个文件,我想在下面设置flash消息,但它不起作用。我还添加了这个命名空间,但它也不起作用:-use Symfony\Component\HttpFoundation\Request;

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

2 个答案:

答案 0 :(得分:1)

您无法从命令行使用会话,只能以HTTP方式使用它们。尝试以不同的方式存储您的消息:

  • 在档案中
  • 在您的MySQL数据库中
  • 在RAM缓存中(例如redis)
  • 等...

答案 1 :(得分: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");
    }
}