Skip to content

Commit eb838cd

Browse files
authored
[Fixes BIG bug] register blade directives after resolving blade compiler (#2048)
* register blade directives after resolving blade compiler Fixes #2038, #2044, #2045 * use callAfterResolving instead of afterResolving
1 parent 677903c commit eb838cd

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

src/PermissionServiceProvider.php

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
use Illuminate\Support\Arr;
88
use Illuminate\Support\Collection;
99
use Illuminate\Support\ServiceProvider;
10+
use Illuminate\View\Compilers\BladeCompiler;
1011
use Spatie\Permission\Contracts\Permission as PermissionContract;
1112
use Spatie\Permission\Contracts\Role as RoleContract;
1213

@@ -39,7 +40,9 @@ public function register()
3940
'permission'
4041
);
4142

42-
$this->registerBladeExtensions();
43+
$this->callAfterResolving('blade.compiler', function (BladeCompiler $bladeCompiler) {
44+
$this->registerBladeExtensions($bladeCompiler);
45+
});
4346
}
4447

4548
protected function offerPublishing()
@@ -81,10 +84,8 @@ protected function registerModelBindings()
8184
$this->app->bind(RoleContract::class, $config['role']);
8285
}
8386

84-
protected function registerBladeExtensions()
87+
protected function registerBladeExtensions($bladeCompiler)
8588
{
86-
$bladeCompiler = $this->app['blade.compiler'];
87-
8889
$bladeCompiler->directive('role', function ($arguments) {
8990
list($role, $guard) = explode(',', $arguments.',');
9091

0 commit comments

Comments
 (0)