Не вьюх, а шаблонов. Вьиюх у нас как раз нет, отсюда все костыли.https://github.com/pmjones/adr
но тут больше в сторону не хардкодить названия вьюх
PHP:
return view('page-foo.blade.php', $vars];
//
@extends('layouts.master-bar')
@section('content')
<p>This is my body content.</p>
@endsection
Внутри PageView создаётся вьюха с лейаутом @extends('layouts.master') == new MasterBarView('layouts.master', $vars, $pageView);
На каждый шаблон по классу view.
Соотвественно без выделения конкретных классов мы говнокодим конструктор PageFooView прямо в контроллере и занимаемся там подготовкой данных, например, формированием данных для выпадающих списков.
Конcтруктор для MasterBarView получается это как раз View::compose