Laravel Attribute Mask 包 法兹勒·拉比 在检索 Eloquent 模型属性时,会自动对其进行敏感属性的屏蔽。当您需要显示部分数据(例如电子邮件地址、电话号码或其他敏感信息)而无需显示完整值时,此功能非常有用。
主要特点
- 检索时自动屏蔽属性
- 内置支持电子邮件、电话和文本掩码类型
- 可配置的掩码字符和可见性设置
- 全局配置或按属性配置的规则
- 自动检测常用电话字段名称
定义可屏蔽属性
要开始使用此软件包,您需要添加
HasMaskedAttributes
为您的模型添加特性,并定义哪些属性应该使用以下方式进行掩码:
maskables()
方法或
$maskable
财产:
使用
Irabbi360\LaravelAttributeMask\Concern\HasMaskedAttributes
;使用
照亮\数据库\雄辩\模型
;班级
用户
延伸
模型{
使用
HasMaskedAttributes
;
// 或者,使用属性语法:
受保护
大批
可遮盖
=
[
'电子邮件'
,
'电话'
];
受保护
功能
可遮盖物
()
:
大批{
返回
[
'电子邮件'
,
'电话'
];}}
掩蔽行为
配置完成后,访问掩码属性将返回掩码后的版本:
$用户
=
用户
::
寻找
(
1
(英文):$用户
->
电子邮件;
// t**t@example.com$用户
->
电话;
// 123****90
恢复原始值
当您需要访问原始的未屏蔽值时,请使用
getOriginal()
方法:
$用户
->
获取原始
(
'电子邮件'
(英文):
// test@example.com
配置选项
已发布的配置文件(
config/attribute-mask.php
) 提供对掩码行为的控制,允许您根据需要进行自定义:
返回
[
‘已启用’
=>
真的
,
'mask_char'
=>
'*'
,
'email_masking'
=>
[
'show_domain'
=>
真的
,
'show_start'
=>
1
,
'show_end'
=>
1
,],
'phone_masking'
=>
[
'show_start'
=>
3
,
'show_end'
=>
2
,
“模式”
=>
[
'电话'
,
'电话号码'
,
'移动的'
,
'手机号码'
],],
'text_masking'
=>
[
'show_start'
=>
3
,
'show_end'
=>
3
,],];
这
patterns
数组
phone_masking
允许该软件包根据属性名称自动检测电话字段。
入门
通过 Composer 安装软件包:
作曲家
要求
irabbi360/laravel-属性掩码
发布配置文件:
php
工匠
供应商:发布
--标签=
"attribute-mask-config"
如需了解更多信息和源代码,请访问 Laravel Attribute Mask 仓库位于 GitHub 上 。





