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
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
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/Providers/BrokerServiceProvider.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 bootstrap/App.php j'ai activé $app->withFacades(); et rajouté
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; }); } }
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
3 // OWN SERVICES PROVIDERS $app->register(App\Providers\BrokerServiceProvider::class);
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 class_alias('\App\Facades\Broker', 'Broker');
J'ai cherché un peu partout mais rien n'y fait, aucune solution indiqué ne fonctionne. Si quelqu'un a une idée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Broker::getCentrisConfs();
D'avance merci
Partager