如何将字符串回显到 Laravel 4.2 中的视图中?

How to echo a string into a view in Laravel 4.2?

我正在使用 Laravel 4.2 框架(即将升级)并从控制器调用 artisan 命令并返回 return 重定向。

我的问题是当我调用命令时,命令 echo 对我来说有些东西(当我从终端调用它时这很有用)但是现在因为我在一个方法中使用它,我想要echos 在我的视图中显示为即时消息。

我将编写以下示例来澄清我的问题。

我的命令:

public function fire()
{ 
    // Do stuff.
    echo $vars 
}

我的控制器:

function foo() {

      // Some input here

      Artisan::call('command');


      return Redirect::back(); // <-- want to add the echos of the command. 
}

所以我想在我的观点中展示 $var,我不确定是否可以接受其他可以给我相同概念的建议(请记住,如果要替换 echo 当我 运行 命令时,它必须同时显示在视图和终端中。

注意:我尝试了 Ajax,但我的问题是我将文件作为参数发送,尝试了 FormData 对象,但它对我不起作用。

在会话中存储数据是在多个请求中保持持久数据的好方法。会话闪烁是一种为下一个请求保留数据的方法,非常适合重定向。 Laravel 当出现验证错误时,内部将其用于旧输入数据。

https://laravel.com/docs/4.2/session#flash-data

Session::flash('key', 'value');

这只会为下一个请求保留,您可以在下一个请求中使用 Session::get('key') 来检索它。

我通过稍微更改我的命令解决了这个问题。

命令:

function fire()
{
  // replaced the echo with the following.
  $this->info('what ever you want ur message you want to put in console');

 }

控制器

function foo()
{

  $output =  new BufferedOutput();

  Artisan::call('command', [arguments], $output);

  return Redirect::back()->with('flash_message', $output->fetch());
}

猜测缓冲输出与可以在 Laravel Documentations 而不是 echo's

中找到的命令输出一起工作