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';