From 288a9e6a7a27c9cb67efe6ac7b98b60bfec21f30 Mon Sep 17 00:00:00 2001 From: C14r Date: Fri, 24 Nov 2023 07:59:54 +0100 Subject: [PATCH] Added config for directives --- config/easyblade.php | 21 +++++++++++++++ src/EasyBladeServiceProvider.php | 46 ++++++++------------------------ 2 files changed, 32 insertions(+), 35 deletions(-) create mode 100644 config/easyblade.php diff --git a/config/easyblade.php b/config/easyblade.php new file mode 100644 index 0000000..649bffc --- /dev/null +++ b/config/easyblade.php @@ -0,0 +1,21 @@ + [ + 'route' => \EasyBlade\Directives\RouteDirective::class, + 'url' => \EasyBlade\Directives\UrlDirective::class, + 'asset' => \EasyBlade\Directives\AssetDirective::class, + 'isActive' => \EasyBlade\Directives\isActiveDirective::class, + 'count' => \EasyBlade\Directives\CountDirective::class, + 'endcount' => \EasyBlade\Directives\EndConditionDirective::class, + 'user' => \EasyBlade\Directives\UserDirective::class, + 'sessionExists' => \EasyBlade\Directives\SessionExistsDirective::class, + 'endsessionExists' => \EasyBlade\Directives\EndConditionDirective::class, + 'session' => \EasyBlade\Directives\SessionDirective::class, + 'image' => \EasyBlade\Directives\ImageDirective::class, + 'style' => \EasyBlade\Directives\StyleDirective::class, + 'script' => \EasyBlade\Directives\ScriptDirective::class, + 'config' => \EasyBlade\Directives\ConfigDirective::class, + 'old' => \EasyBlade\Directives\OldDirective::class, + ] +]; diff --git a/src/EasyBladeServiceProvider.php b/src/EasyBladeServiceProvider.php index 6cd180c..f99c76f 100644 --- a/src/EasyBladeServiceProvider.php +++ b/src/EasyBladeServiceProvider.php @@ -2,54 +2,30 @@ namespace EasyBlade; -use EasyBlade\Directives\{ - OldDirective, - UrlDirective, - UserDirective, - AssetDirective, - CountDirective, - ImageDirective, - RouteDirective, - StyleDirective, - ConfigDirective, - ScriptDirective, - SessionDirective, - isActiveDirective, - EndConditionDirective, - SessionExistsDirective -}; use Illuminate\Support\Facades\Blade; use Illuminate\Support\ServiceProvider; - class EasyBladeServiceProvider extends ServiceProvider { - const DIRECTIVES = [ - 'route' => RouteDirective::class, - 'url' => UrlDirective::class, - 'asset' => AssetDirective::class, - 'isActive' => isActiveDirective::class, - 'count' => CountDirective::class, - 'endcount' => EndConditionDirective::class, - 'user' => UserDirective::class, - 'sessionExists' => SessionExistsDirective::class, - 'endsessionExists' => EndConditionDirective::class, - 'session' => SessionDirective::class, - 'image' => ImageDirective::class, - 'style' => StyleDirective::class, - 'script' => ScriptDirective::class, - 'config' => ConfigDirective::class, - 'old' => OldDirective::class, - ]; + public function register(): void + { + $this->mergeConfigFrom( + __DIR__.'/../config/easyblade.php', 'easyblade' + ); + } public function boot() { + $this->publishes([ + __DIR__.'/../config/easyblade.php' => config_path('easyblade.php'), + ]); + $this->registerDirectives(); } public function registerDirectives() { - foreach (static::DIRECTIVES as $directive => $class) { + foreach (config('easyblade.directives', []) as $directive => $class) { Blade::directive($directive, [$class, 'handle']); } }