Issues (4)

src/Commands/Bindings.php (1 issue)

Labels
Severity
1
<?php
2
3
namespace Peac36\Explorer\Commands;
4
5
use Illuminate\Console\Command;
0 ignored issues
show
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