Abstraction layer between Blade/Twig to allow the means to "plug in" data through a consistent interface.
Begin by installing the package through Composer.
composer require caffeinated/plugins=~2.0
Once this operation is complete, simply add both the service provider and facade classes to your project's config/app.php
file:
Caffeinated\Plugins\PluginsServiceProvider::class,
'Plugin' => Caffeinated\Plugins\Facades\Plugin::class,
And that's it! With your coffee in reach, start plugging in some data!
Build your plugin: app\Plugins\YourPlugin.php
<?php
namespace App\Plugins;
class YourPlugin
{
public function run()
{
return 'Whatever you want';
}
}
Register your plugin, ideally within a service provider:
Plugin::register('plugin_name', 'App\Plugins\YourPlugin');
Now simply use it!
{{ @plugin_name() }} // Echo's "whatever you want" in this case