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