Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 Re: Laravel 5.x » Передача параметров в сервис-контейнер » 24.08.2019 11:58:31

Возможно и так...рассчитывал узнать как решают этот вопрос остальные

#2 Re: Laravel 5.x » Передача параметров в сервис-контейнер » 23.08.2019 08:43:25

Есть такой вариант, только он неудобен тем что метод интерфейса может использовать свои приватные методы, в которых также нужен доступ к этим параметрам. Получается нужно через несколько уровней передавать один параметр.

#3 Laravel 5.x » Передача параметров в сервис-контейнер » 23.08.2019 05:46:21

AlexanderA
Ответов: 4

Не могу разобраться с таким вопросом. Через URI передается параметр id, который доступен в контроллере (AlbumController) 
соответствующего роута. При создании контроллера нужно получить экземпляр класса обработчика (AlbumHandler)
конструктора контроллера . Этот обработчик AlbumHandler при создании в свою очередь требует экземпляр
другого вспомогательного класса определенного через интерфейс (FileStorage). И вот этот 
вспомогательный класс должен получать id из URI. Как добраться до параметров непонятно. Вообще передача параметров в "сервис-контейнер" для создания экземпляров не продумана или просто не описана.
    Несколько недель разбираюсь с Laravel, и сильно недоумеваю. С момента выпуска прошло 8 лет, и так не удосужились 
нормально описать функционал фреймворка. Работа сервис-контейнера непонятная. Идея управлять созданием 
экземпляров и разрешать зависимости в одном месте вроде как хорошая, но реализация непонятная. Такое усложнение и 
ради чего, чтобы получить ограничения и непрозрачность создания объектов? В итоге все эта "магия" просто отучает 
принимать решения как правильно организовать создание объектов и доступ к ним. Может я конечно не понимаю чего-то...хотелось бы чтобы это было так,
и на самом деле в этом плане у Laravel все продумано и удобно! )

#5 Laravel 5.x » Доступ к View вне Контроллеров » 07.08.2019 11:37:36

AlexanderA
Ответов: 2

Добрый день, начал изучать 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-шаблонизатором?).

Подвал раздела