Completed
Push — master ( 5c1921...6ec8b5 )
by Maksim (Ellrion)
8s
created

BladeLoopServiceProvider::register()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 14
Code Lines 7

Duplication

Lines 0
Ratio 0 %
Metric Value
dl 0
loc 14
rs 9.4285
cc 2
eloc 7
nc 2
nop 0
1
<?php
2
3
namespace Advmaker\BladeLoop;
4
5
use Illuminate\Support\ServiceProvider;
6
7
class BladeLoopServiceProvider extends ServiceProvider
8
{
9
    /**
10
     * Register the service provider.
11
     *
12
     * @return void
13
     */
14
    public function register()
15
    {
16
        $directives = $this->app->make('files')->getRequire(__DIR__ . '/directives.php');
17
18
        /** @var \Illuminate\View\Compilers\BladeCompiler $blade */
19
        $blade  = $this->app->make('view')->getEngineResolver()->resolve('blade')->getCompiler();
20
21
        $this->app->singleton('blade.loop', LoopFactory::class);
22
        foreach ($directives as $name => $directive) {
23
            $blade->extend(function ($value) use ($directive) {
24
                return preg_replace($directive[ 'pattern' ], $directive[ 'replacement' ], $value);
25
            });
26
        }
27
    }
28
}
29