I don't like either of them. Layouts are probably the weirdest part of Laravel. The controller version doesn't really make sense; all methods of the controller then require that view. The @yield version is a mess of boilerplate. I made up this "method specific layouts":
public function index()
{
return View::make('layouts.main', [
'layout_data' => 'sup'
])->nest('content', 'welcome', [
'view_data' => 'sup'
]);
}
I think it should be mentioned in the docs that this is an option.