generated from spatie/package-skeleton-laravel
/
BladeCommentsServiceProvider.php
50 lines (39 loc) · 1.21 KB
/
BladeCommentsServiceProvider.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?php
namespace Spatie\BladeComments;
use Illuminate\Contracts\Http\Kernel;
use Illuminate\Support\Facades\Blade;
use Spatie\LaravelPackageTools\Package;
use Spatie\LaravelPackageTools\PackageServiceProvider;
class BladeCommentsServiceProvider extends PackageServiceProvider
{
public function configurePackage(Package $package): void
{
$package
->name('laravel-blade-comments')
->hasConfigFile();
}
public function packageBooted(): void
{
if (! config('blade-comments.enable')) {
return;
}
$this
->registerMiddleware()
->registerPrecompiler();
}
protected function registerPrecompiler(): self
{
$precompilerClass = config('blade-comments.precompiler');
Blade::precompiler(fn (string $string) => $precompilerClass::execute($string));
return $this;
}
protected function registerMiddleware(): self
{
$kernel = resolve(Kernel::class);
collect(config('blade-comments.middleware'))
->each(function ($middleware) use ($kernel) {
$kernel->appendMiddlewareToGroup('web', $middleware);
});
return $this;
}
}