Проблема простая. Если виджет должен вызвать какие-то WebView::register** методы, то этот вэб-вью необходимо принудительно пробрасывать в виджет из вью ($this). Иначе - если это WebView получена с помощью фабрики, то эти методы "уходят" в никуда (ничего не регистрируется из-за иммутабельности). И с одним виджетом во вью не критично, но вот сегодня написал такой, который использует этот метод аж на 3-й уровне рендеринга
Можно вынести из ViewTrait хранение параметров, жс, ксс и прочее в отдельный класс, который будет через DI попадать в View/WebView. Кажется, это решит проблему
В качестве идеи - может в этом случае (когда webview должно что-то зарегистрировать в layout) иммутабельность излишняя? Я не могу придумать случай, когда в моменте нужно отрендерить сразу несколько самостоятельных страниц
Обсуждают сегодня