Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Добрый день, начал изучать Laravel (v5.5), при размещении логики в контроллерах, все более менее понятно. Хотел передать формирование ответа (то есть данные для представления) в отдельный класс Output, чтобы была возможность подмены реализации при обращении разных клиентов. Не могу понять как обращаться к View вне контроллеров:
return view('album.album') или
$app = app(); $app['view']->make('album.album');
не дает вывод в браузер (пустой экран).
Причем что странно, если в индексном методе контроллера
return view('album.album') нормально работает,
то если упаковываешь строку return view('album.album');
в метод этого же контроллера допустим getView();
и вызываешь в индексном методе $this->getView() то вывода в браузере нет (пустой экран).
Делал artisan view:clear эффекта нет.
View::exists('album.album') вызываемая в Output->getView() дает TRUE (то есть фасад View доступен и проблема с blade-шаблонизатором?).
Изменено AlexanderA (07.08.2019 12:10:35)
Не в сети
то если упаковываешь строку return view('album.album'); в метод этого же контроллера допустим getView();и вызываешь в индексном методе $this->getView() то вывода в браузере нет (пустой экран).
return возвращает значение, в данном случае - объект типа вью.
надо не просто вызвать свой кастомный метод, но и потом вернуть то, что он тебе дал
в методе-экшене контроллера, т.е. например в
public function index()
{
$view = $this->getView(); // а он делает return view(...)
...
return $view;
}
Не в сети
Спасибо, протупил )
Не в сети
Страницы 1