Completed
Push — master ( 1b245d...6bfeb1 )
by Freek
15s queued 12s
created

src/ViewComponentsServiceProvider.php (1 issue)

Severity

Upgrade to new PHP Analysis Engine

These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more

1
<?php
2
3
namespace Spatie\ViewComponents;
4
5
use Illuminate\Support\ServiceProvider;
6
use Illuminate\View\Compilers\BladeCompiler;
7
8
class ViewComponentsServiceProvider extends ServiceProvider
9
{
10
    public function boot()
11
    {
12
        $this->publishes([
13
            __DIR__.'/../config/view-components.php' => config_path('view-components.php'),
14
        ], 'config');
15
16
        $this->app->afterResolving('blade.compiler', function (BladeCompiler $bladeCompiler) {
17
            $bladeCompiler->directive('render', $this->app->make(CompileRenderDirective::class));
0 ignored issues
show
$this->app->make(\Spatie...RenderDirective::class) is of type *, but the function expects a callable.

It seems like the type of the argument is not accepted by the function/method which you are calling.

In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.

We suggest to add an explicit type cast like in the following example:

function acceptsInteger($int) { }

$x = '123'; // string "123"

// Instead of
acceptsInteger($x);

// we recommend to use
acceptsInteger((integer) $x);
Loading history...
18
        });
19
    }
20
21
    public function register()
22
    {
23
        $this->mergeConfigFrom(__DIR__.'/../config/view-components.php', 'view-components');
24
25
        $this->app->singleton(ComponentFinder::class, function () {
26
            return new ComponentFinder(
27
                $this->app->config->get('view-components.root_namespace'),
28
                $this->app->config->get('view-components.namespaces')
29
            );
30
        });
31
    }
32
}
33