捕获传递给Laravel中视图的所有信息

时间:2014-08-08 13:51:35

标签: php laravel

我想使用afterFilter捕获传递给视图的所有信息。所以我需要知道:

  • 所有变量
  • session flash
  • 执行的操作(最后一次操作)
  • 名为
  • 的视图

这是因为我需要检查请求是否为json 以更改响应。

目前我使用afterFilter这样:

public function __construct()
{
  // Here's something that happens after the request
  $this->afterFilter(function() {
  });
}

我想要的是:使用BaseController中的afterFilter方法捕获所有事件/操作,然后判断请求是否为json。

如果您需要更多信息,请发表评论。

抱歉我的英文

2 个答案:

答案 0 :(得分:1)

你需要知道JSON还是AJAX?如果是AJAX,那么只需使用:

if (Request::ajax())
{
    //
}

答案 1 :(得分:0)

您可以使用Request::wantsJson()来确定请求是否要求使用以下内容json

// In app/filters.php
App::after(function($request, $response)
{
    if($request->wantsJson()) {
        //...
    }
});

在这种情况下,Laravel (through Base/Symfony class)会检查是否设置了Accept标头,是否为application/json