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

BladeLoopServiceProvider   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 22
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 3

Importance

Changes 2
Bugs 1 Features 0
Metric Value
wmc 2
c 2
b 1
f 0
lcom 1
cbo 3
dl 0
loc 22
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A register() 0 14 2
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