Laravel版本:5.4 PHP版本:7
我制作了一个自定义包,我想知道是否可以通过我的ServiceProvider添加一个警卫和提供者。我不希望其他开发人员在安装自定义程序包时需要手动将其放入auth.php中。
所以我只想填写auth.php中的'providers'和'guard'。
答案 0 :(得分:1)
是的,有可能:
在您的服务提供商boot()
中执行:
Auth::provider('myprovidername',function ($app,array $config) {
return myproviderobject
});
Auth::extend("myguard", function ($app,$name, array $config) {
return myguard;
});
无论谁需要使用您的身份验证驱动程序,只需将以下内容放入config/auth.php
:
'guards' => [
// ...
'myguardconfig' => [
'driver' => 'myguard',
'provider' => 'myproviderconfig'
]
]
//...
'providers' => [
// ...
'myproviderconfig' => [
'driver' => 'myprovidername'
]
]
答案 1 :(得分:0)
如果您要创建自定义程序包,那么我建议您创建自己的配置文件并将其发布(check here)。由于laravel和其他包使用auth.php
,更改它会影响它们。