Bindings   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 49
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 15
dl 0
loc 49
rs 10
c 0
b 0
f 0
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A handle() 0 18 1
A __construct() 0 3 1
1
<?php
2
3
namespace Peac36\Explorer\Commands;
4
5
use Illuminate\Console\Command;
0 ignored issues
show
Bug introduced by
The type Illuminate\Console\Command was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
6
7
class Bindings extends Command
8
{
9
    /**
10
     * The name and signature of the console command.
11
     *
12
     * @var string
13
     */
14
    protected $signature = 'explore:bindings';
15
16
    /**
17
     * The console command description.
18
     *
19
     * @var string
20
     */
21
    protected $description = 'Prints all bindings in the container.';
22
23
    /**
24
     * Create a new command instance.
25
     *
26
     * @return void
27
     */
28
    public function __construct()
29
    {
30
        parent::__construct();
31
    }
32
33
    /**
34
     * Execute the console command.
35
     *
36
     * @return mixed
37
     */
38
    public function handle()
39
    {
40
        $laravel = $this->getLaravel();
41
        $base_path = $laravel->basePath();
42
        $headers = ['Binding Name', 'Class', 'File Path'];
43
44
        $rows = array_map(function($binding, $key) use($base_path) {
45
46
            $binding = new \ReflectionFunction($binding['concrete']);
47
48
            return [
49
                'key' => $key,
50
                'name' => $binding->getClosureScopeClass()->name,
51
                'path' => str_replace($base_path, '', $binding->getFileName()),
52
            ];
53
        }, $laravel->getBindings(), array_keys($laravel->getBindings()));
54
55
        $this->table($headers, $rows);
56
    }
57
}
58