Где зарегистрироваться Фасады и поставщики услуг в Люмен
Я ищу, где добавить фасад ниже в Lumen.
'JWTAuth' => 'Tymon\JWTAuth\Facades\JWTAuth'
отредактированы
Также, где зарегистрировать поставщика услуг в bootstrap\app.php
$app->register('Tymon\JWTAuth\Providers\JWTAuthServiceProvider');
Пожалуйста, помогите.
Ответы
Ответ 1
В своем bootstrap/app.php
убедитесь, что вы не прокомментировали:
$app->withFacades();
Затем зарегистрируйте псевдоним класса и проверьте, существует ли он (иначе ваши тесты будут разбиты):
if (!class_exists('JWTAuth')) {
class_alias('Tymon\JWTAuth\Facades\JWTAuth', 'JWTAuth');
}
Чтобы зарегистрировать свой ServiceProvider
, проверьте bootstrap/app.php
:
/*
|--------------------------------------------------------------------------
| Register Service Providers
|--------------------------------------------------------------------------
|
| Here we will register all of the application 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');
Обновление # 1
Я создал симплексный шаблон здесь, чтобы интегрировать Lumen с JWT и Dingo.
Ответ 2
Чтобы зарегистрировать фасад с псевдонимом, перейдите в bootstrap/app.php
и раскомментируйте $app->withFacades();
- это говорит фреймворку о загрузке фасадов по умолчанию. Чтобы добавить больше фасадов, просто поместите их в массив и передайте массив в качестве второго аргумента, установив для первого аргумента значение true, как показано ниже:
$app->withFacades(true, ['Tymon\JWTAuth\Facades\JWTAuth' => 'JWTAuth']);
Чтобы зарегистрировать поставщика услуг, в том же файле прокрутите вниз до соответствующего раздела комментариев и добавьте следующую строку:
$app->register(Tymon\JWTAuth\Providers\JWTAuthServiceProvider::class);
Ответ 3
В вашем загрузчике \app.php
Пример для провайдера
// XML parser service provider
$app->register(\Nathanmac\Utilities\Parser\ParserServiceProvider::class);
// GeoIP
$app->register(\Torann\GeoIP\GeoIPServiceProvider::class);
$app->withEloquent();
Пример для псевдонима
// SERVICE ALIASES
class_alias(\Nathanmac\Utilities\Parser\Facades\Parser::class, 'Parser');
class_alias(\Torann\GeoIP\Facades\GeoIP::class, 'GeoIP');
$app->withFacades();
...
...
...
Удачи