Допустим, у меня есть NewsController::lastNews
, который может получать и отображать некоторые новости.
Я хочу отображать эти новости во многих других контроллерах (HomeController
, WhateverController
).
Вариант 1: выборка данных на каждом контроллере: Я могу получить данные в каждом требуемом контроллере (HomeController, Wh whatController) напрямую, через службу или даже Trait, а затем передать их представление, затем @include шаблон моих новостей в шаблон контроллера, но это выглядит как не очень гладкий
Вариант 2, мой любимый до сих пор: Использование @ введите в мои шаблоны: Это очень близко к render(controller())
из Symfony, но я хочу знать, есть ли какие-либо проблемы с этим, потому что это не задокументировано для использования с контроллерами.
@inject('news', 'App\Http\Controllers\NewsController')
<div> {{ $news->lastNews(3) }} </div>
Каков рекомендуемый способ обмена данными и представлениями в Laravel? Благодаря.