web-dev-qa-db-fra.com

Où inscrire des façades et des fournisseurs de services à Lumen

Je cherche où ajouter la façade ci-dessous dans Lumen.

'JWTAuth' => 'Tymon\JWTAuth\Facades\JWTAuth'

ÉDITÉ

Également où inscrire un fournisseur de services dans bootstrap\app.php

$app->register('Tymon\JWTAuth\Providers\JWTAuthServiceProvider');

Veuillez aider.

27
Digitlimit

Dans votre bootstrap/app.php, assurez-vous de ne pas commenter:

$app->withFacades();

Ensuite, enregistrez votre alias de classe et vérifiez s’il existe déjà (sinon vos tests échoueront):

if (!class_exists('JWTAuth')) {
    class_alias('Tymon\JWTAuth\Facades\JWTAuth', 'JWTAuth');
}

Pour enregistrer votre ServiceProvider, vérifiez votre bootstrap/app.php:

/*
|--------------------------------------------------------------------------
| Register Service Providers
|--------------------------------------------------------------------------
|
| Here we will register all of the application's service providers which
| are used to bind services into the container. Service providers are
| totally optional, so you are not required to uncomment this line.
|
*/

// $app->register('App\Providers\AppServiceProvider');

// Add your service provider here
$app->register('Tymon\JWTAuth\Providers\JWTAuthServiceProvider');

Mise à jour # 1

J'ai fait un passe-partout simpel ici pour intégrer Lumen avec JWT et Dingo.

56
krisanalfa

Pour enregistrer une façade avec un alias , accédez à bootstrap/app.php et décommentez $app->withFacades(); - ceci indique au cadre de charger les façades par défaut. Pour charger des façades supplémentaires, ajoutez-les simplement à un tableau et transmettez-le en tant que second paramètre, en définissant le premier paramètre sur true, comme suit:

$app->withFacades(true, ['Tymon\JWTAuth\Facades\JWTAuth' => 'JWTAuth']);

Pour enregistrer un fournisseur de services , dans le même fichier, faites défiler jusqu'à une section de commentaire pertinente et ajoutez la ligne suivante:

$app->register(Tymon\JWTAuth\Providers\JWTAuthServiceProvider::class);
8
qwaz

Dans votre bootstrap\app.php

Exemple de fournisseur

// XML parser service provider
$app->register(\Nathanmac\Utilities\Parser\ParserServiceProvider::class);
// GeoIP
$app->register(\Torann\GeoIP\GeoIPServiceProvider::class);
$app->withEloquent();

Exemple pour alias

// SERVICE ALIASES
class_alias(\Nathanmac\Utilities\Parser\Facades\Parser::class, 'Parser');
class_alias(\Torann\GeoIP\Facades\GeoIP::class, 'GeoIP');
$app->withFacades();
...
...
...

Bonne chance

1
llioor