Здравствуйте, использую простой пакет
breadcrumbs. Я создал отдельный базовый контроллер, от которого наследуются остальные, установил в конструкторе:
public function __construct()
{
$this->breadcrumbs = new \Creitive\Breadcrumbs\Breadcrumbs;
$classes = array('breadcrumb', 'breadcrumb-item');
$this->breadcrumbs->addCssClasses($classes);
$this->breadcrumbs->setDivider('');
$this->breadcrumbs->addCrumb('Home', route('home'));
}
Теперь из всех дочерних контроллеров соответственно имеется доступ к настройке крошек. Настройка происходит путем добавления новой крошки, всё предельно просто. Но суть в том, что этот код сильно засоряет код самих методов контроллеров, и писать в каждом методе - плохое решение:
public function index(Request $request)
{
//...
$this
->breadcrumbs
->addCrumb('Posts', '');
$this
->breadcrumbs
->addCrumb('Post'.$request->post_id, route('post',['ost_id'=>$request->ost_id]));
//...
}
Каким образом можно такую задачу оптимизировать? В плане архитектуры.