我想在 Laravel 中自动设置 GET 请求的视图。在BaseController
构造函数中,我这样做:
if (Request::server('REQUEST_METHOD') === 'GET')
{
$action = explode('@', Route::currentRouteAction());
$view = explode('get', $action[1]);
$view = strtolower(end($view));
$controller = strtolower(explode('Controller', $action[0])[0]);
$this->data['view'] = $controller . '.' . $view;
}
所以基本上,如果我们向它发出请求,/some/page
它将寻找一个名为views/some/page.blade.php
.
目前我使用$this->data
. 所以我在每个方法中发送视图之前建立我的数据:
$this->layout->with($this->data);
我最终在每种GET
方法中都进行了上述调用,并希望将整个过程自动化。使用的问题$this->data
是我无法访问它任何过滤器或其他闭包。是否有一种我没有使用的魔法方法或全局数据存储,我可以在每个请求结束时调用它并抽出布局?
function afterEveryThing()
{
$this->layout->with($this->data);
}
BaseController
在我可以做到这一点的地方或某处类似上面的东西?