Layout 拉威尔4号+;将变量传递给主布局

Layout 拉威尔4号+;将变量传递给主布局,layout,laravel-4,blade,Layout,Laravel 4,Blade,我试图将一个变量传递给我的“主”布局: //views/dashboard/layouts/master.blade.php <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> </head> <body> @yield('site.body'); {{{ isset($test) ? $title:'Test no exist

我试图将一个变量传递给我的“主”布局:

//views/dashboard/layouts/master.blade.php

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
    </head>

<body>
  @yield('site.body');
  {{{ isset($test) ? $title:'Test no exists :) ' }}}
</body>
</html>
我只想对$title变量设置一次,并且在需要时覆盖它。 现在我必须在每次调用另一个方法时设置变量:/

怎么做?如何为此“主”布局仅设置一次$title变量


Symphony2有before()/after()方法-laravel得到了什么?

您可以使用
View::composer()
View::share()
将变量“传递”到视图:

public function __construct()
{
    View::share('title', 'cry...');
}
这是一位作曲家:

View::composer('layouts.master', function($view)
{
    $view->with('name', Auth::check() ? Auth::user()->firstname : '');
});
如果您在所有视图上都需要它,您可以:

View::composer('*', function($view)
{
    $view->with('name', Auth::check() ? Auth::user()->firstname : '');
});
您甚至可以为此创建一个文件,类似于
app/composers.php
,并将其加载到
app/start/global.php

require app_path().'/composers.php';

回答得好,正是我想要的。
require app_path().'/composers.php';