Bonjour,

J'ai un problème lors de la création d'un service provider sur Lumen.

Voila mon code :

Dans App/Classes/Broker.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
<?php
 
namespace App\Classes;
 
use Illuminate\Support\Facades\Auth;
 
class Broker
{
    public $user = '';
 
    public function __construct()
    {
        if (!Auth::check()) {
            return false;
        }
 
        $this->user = Auth::User();
 
        if (empty($this->user))
        {
            return false;
        }
    }
 
    public static function getCentrisConfs()
    {
        return CentrisConfs::where('site_id', $this->user->id)->get();
    }
}
Dans App/Facades/Broker.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
<?php
 
namespace App\Facades;
 
use Illuminate\Support\Facades\Facade;
 
class Broker extends Facade 
{
    protected static function getFacadeAccessor() { return 'Broker'; }
}
Dans App/Providers/BrokerServiceProvider.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
 
<?php
 
namespace App\Providers;
 
use Illuminate\Support\Facades\App;
use Illuminate\Support\ServiceProvider;
 
class BrokerServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap the application services.
     *
     * @return void
     */
    public function boot()
    {
        //
    }
 
    /**
     * Register the application services.
     *
     * @return void
     */
    public function register()
    {
        App::bind('Broker', function()
        {
            return new \App\Classes\Broker;
        });
    }
}
Dans bootstrap/App.php j'ai activé $app->withFacades(); et rajouté
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
// OWN SERVICES PROVIDERS
$app->register(App\Providers\BrokerServiceProvider::class);
J'aimerais pouvoir appeler cette facade de n'importe ou sans avoir à rajouter le "use", j'ai essayé de rajouter dans bootstrap/app.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
class_alias('\App\Facades\Broker', 'Broker');
Mais rien n'y fait, il ne trouve jamais Broker lorsque je fais
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
Broker::getCentrisConfs();
J'ai cherché un peu partout mais rien n'y fait, aucune solution indiqué ne fonctionne. Si quelqu'un a une idée.

D'avance merci