share('vendorName', 'ja s.r.o.'); // register extension for rendering widget areas Blade::extend(function ($view) { $pattern = $this->createPattern('widgetArea'); return preg_replace($pattern, '', $view); }); // register extension for preview of widget Blade::extend(function ($view) { $pattern = $this->createPattern('widgetPreview'); $code = ' widget_type_handler; $presenter = call_user_func([$handler, "getPresenter"]); echo call_user_func([$presenter, "render"], json_decode($2->settings)); } ?> '; return preg_replace($pattern, $code, $view); }); } /** * Creates pattern for matching Blade directives * * @param $function * * @return string */ private function createPattern($function){ return '/(?