good-system / laravel-email-verifiable
Requires
- good-system/good-system: *
This package is auto-updated.
Last update: 2024-09-08 15:41:18 UTC
README
与Laravel 5.7内置的电子邮件验证注册类似,此包利用了一些内置功能,为其他模型添加类似的功能,主要是在表单提交中由访客用户和/或注销用户创建的模型。
示例用例
无需处理账户即可注册会员
一些用户可能觉得必须处理账户很麻烦,尤其是当组织不提供需要成员登录账户的服务时。
无需登录即可续订会员
同样,成员可能足够有动力续订会员,但如果没有在线会员账户,那么就没有其他用途。
无需登录即可捐款
(目前没有详细信息)
依赖项
- good-system/theme
此包提供一组布局和样式。如果需要自定义主题或视图,不希望这样做,请在 /resources/views/vendor/good-system
下创建一组自定义视图,它们将分别覆盖 good-system/theme
中的对应视图。
安装
此包不太可能直接安装,更可能作为其他包的依赖项安装。
在安装之前,首先将其添加到 composer.json
"repositories": [
...
{
"type": "git",
"url": "git@github.com:good-system/laravel-email-verifiable.git"
}
...
]
(这可能在将来发生变化--使用composer包而不是使用git作为源)
然后
composer require good-system/laravel-email-verifiable:"*"
配置
要更改配置,首先发布配置文件,然后在其中进行更改。
php artisan vendor:publish --provider="GoodSystem\EmailVerifiable\EmailVerifiableServiceProvider" --tag="config"
目前允许两种配置。
路由前缀
此包提供了以下路由用于验证和重新发送签名URL
/email-verifiable/verify/{model}/{id}
/email-verifiable/resend/{model}/{id}
默认情况下,没有路由前缀。在 config/email-verification.php
中的自定义前缀 routeBase
被识别。
中间件
将新的中间件组添加到 Http/Kernel.php
protected $middlewareGroups = [
'web' => [...],
'api' => [...],
'email-verifiable.verified' => [
]
];
然后您可以将任何中间件放入此数组中,并将自定义逻辑与路由 /email-verifiable/verify/{model}/{id}
关联起来。
'email-verifiable.verified' => [
YOUR-MIDDLE-WARE-CLASS-1,
YOUR-MIDDLE-WARE-CLASS-1
]
验证URL的默认过期时间
通过分钟数指定 default-expiration
使模型可验证
成为 email-verifiable
意味着一个模型有一个指示器,指示该模型是否已通过电子邮件验证过初始记录。这是通过向模型添加一对一的多态关系来实现的。
虽然此包没有规定如何使用此指示器,但添加此功能的动机如下述用例所示。
如何使模型可验证
在安装和配置后,将 trait CanEmailVerify
添加到模型中使其变为 email-verifiable
,如下所示
<?php
namespace GoodSystem\Membership;
use GoodSystem\EmailVerifiable\CanEmailVerify;
use Illuminate\Database\Eloquent\Model;
class Membership extends Model
{
use CanEmailVerify;
}
这将添加关系 verifiable
,以及与 verifiable
模型(由本包提供)中的字段 verified_at
关联的属性 isVerified
。
UseEmailVerify
将 trait UseEmailVerify
添加到控制器或任何其他类中,以便添加以下方法
verify(Model $model)
getSignedUrl($modelType, $modelId, array $extra = [], $expiration = null)
待办:解释$extra的作用及其使用方法