diff --git a/src/PermissionServiceProvider.php b/src/PermissionServiceProvider.php index 924d576a..61fc1321 100644 --- a/src/PermissionServiceProvider.php +++ b/src/PermissionServiceProvider.php @@ -7,6 +7,7 @@ use Illuminate\Support\Arr; use Illuminate\Support\Collection; use Illuminate\Support\ServiceProvider; +use Illuminate\View\Compilers\BladeCompiler; use Spatie\Permission\Contracts\Permission as PermissionContract; use Spatie\Permission\Contracts\Role as RoleContract; @@ -39,7 +40,9 @@ public function register() 'permission' ); - $this->registerBladeExtensions(); + $this->callAfterResolving('blade.compiler', function (BladeCompiler $bladeCompiler) { + $this->registerBladeExtensions($bladeCompiler); + }); } protected function offerPublishing() @@ -81,10 +84,8 @@ protected function registerModelBindings() $this->app->bind(RoleContract::class, $config['role']); } - protected function registerBladeExtensions() + protected function registerBladeExtensions($bladeCompiler) { - $bladeCompiler = $this->app['blade.compiler']; - $bladeCompiler->directive('role', function ($arguments) { list($role, $guard) = explode(',', $arguments.',');