getWidgets($uniqueCode) ->get(); $content = ''; foreach ($widgets as $widget) { $handler = $widget->widget_type_handler; $presenter = call_user_func([$handler, 'getPresenter']); $content .= call_user_func([$presenter, 'render'], json_decode($widget->settings)); } // cache this widget area self::$widgetAreas[$uniqueCode] = $content; echo $content; } }