Я пытаюсь создать view composer. Для этого создаю свой сервис провайдер, подключаю его - все по инструкции.
И внутри метода boot создаю композер
view()->composer('lalalala', function($view) {
});
Внутри композера мне нужно вызвать один из методов моей модели News
Для этого я через use подключаю модель News, т.е.
use App\News;
и в функции композера делаю так:
view()->composer('lalalala', function($view) {
$new = new News; // создаю объект класса News
$data = $news -> getNews(); // получаю список новостей
$view ->with('news', $data); // передаю во вьюшку
});
Вопрос вот в чем: я пытался в данном случае обойтись без создания объекта, а сделать инъекцию зависимости таким образом:
public function boot(News $new)
{
view()->composer('lalalala', function($view) {
$new = new News; // создаю объект класса News
$data = $news -> getNews(); // получаю список новостей
$view ->with('news', $data); // передаю во вьюшку
});
}
Но это не работает. В контроллерах такой ход работает, а тут нет. Может кто-нибудь подсказать почему?