Laravel版本:5.4PHP 版本: 7
我制作了一个自定义包,我想知道是否可以通过我的服务提供商添加警卫和提供程序。我不希望其他开发人员在安装自定义软件包时需要手动将内容放入身份验证.php。
所以我只想在身份验证.php中填充"提供者"和"守卫"。
是的,有可能:
在您的服务提供商中,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'
]
]
如果您正在创建自定义包,那么我建议您创建自己的配置文件并发布它(查看此处(。由于 auth.php
被 laravel 和其他软件包使用,因此更改它会影响它们。