Frontend manager for: Js, CSS, Metatag, Open Graph. You can add and load resources with simple function.
Install with console command
composer require kosmosx/frontend Or add in composore.json one of:
"kosmosx/frontend": "~1" // version >=1.0.0 <2.0.0 "kosmosx/frontend": "1.0.*" // version >=1.0.0 <1.1.0 Support (If you use a smaller version, compatibility is not guaranteed)
Add provider in config file app.php (if Laravel)
'providers' => array( ... 'Kosmosx\Frontend\Providers\Kosmosx\FrontendServiceProvider', ), Register provider in bootstrap file (if Lumen)
$app->register(Kosmosx\Frontend\Providers\FrontManagerServiceProvider); $app->withFacades(); //uncomment if you want to use the Facades of the package Basic usage
$resources = (new FrontendFactory())->scripts(); or $resources = new ScriptsFrontend(); $resources->add('https://code.jquery.com/jquery-3.3.1.min.js', array(),'head.jquery') ->add('https://example.com', array("type"=>"script"),'footer'); 'head.jquery': head it is the context where the resource should be loaded inside the DOM (if omitted, body is used by default); jquery is the name of resource (not reuqired) Render tags
$resources->dump() //render all script tags //output: <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script> <script src="https://example.com" type="script"></script> All method of FrontendInvoker
$resources->add(...) //push in resources new element ->dump(...) //render resources element ->has(...) //find element in resources ->forget(...) //forget element in resources ->toArray(...) Function of services(Resource and Metatag)
->exist($resource, $context, $name) //$resource (script, js, og, meta etc..) //$context (body,footer etc..) if metatag service only 'head' //$name (name of resources) if metatag service name of type ->delete($resource, $context, $name) ->toArray() ->toString() ->getContext() ->setContext() //add extra context to default ->cleanText() //clean string (remove tag and special charter) Example
$openGraph = new OpenGraphFrontend(); //create with Service $openGraph = new FrontendInvoker(new OpenGraphFrontend()); //create with invoker that use command $openGraph = (new FrontendFactory())->opengraph(); //create with Factory that use invoker $openGraph->add('title', 'Resources Manager')->add('description', 'Og description'); return $openGraph->dump(); //output: <meta property="og:title" content="Resources Manager"></meta> <meta property="og:description" content="Og description"></meta> return $openGraph->dump('og:title'); //output: <meta property="og:title" content="Resources Manager"></meta> The pull requests will be reviewed (document the code or write a detailed comment) and if successful they will be accepted
Write to developer@fabriziocafolla.com or create an issue.