Laravel 开发外包合作伙伴 - 每月 3200 美元 | Bacancy

在 Laravel 中检索时屏蔽 Eloquent 的敏感属性

最后更新于 经过

在 Laravel 图片检索中屏蔽敏感的 Eloquent 属性

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 上

保罗·雷德蒙德照片

Laravel News 特约撰稿人。全栈 Web 开发人员兼作家。

归档于:
立方体

Laravel 时事通讯

加入超过 4 万名开发者的行列,不错过任何新的技巧、教程等内容。

图像
Jump24 - 英国 Laravel 代理机构

Laravel 开发人员,精通技术,绝不外包,绝不离岸外包,始终卓越。

访问 Jump24 - 英国 Laravel 代理机构
银行标志

银行

只需每月 3200 美元,即可聘请一位拥有 4-6 年经验的资深 Laravel 开发人员,为您的项目注入强劲动力。您将获得 160 小时的专属专业服务,并享受 15 天无风险试用。立即预约通话!

银行
Tinkerwell 徽标

廷克威尔

Laravel 开发者必备的代码运行器。可在本地和生产环境中体验 AI、自动补全和即时反馈功能。

廷克威尔
几天内即可获得 Laravel 代码审查徽标的专家指导

几天内即可获得 Laravel 代码审查方面的专家指导

专家级代码审查!两位拥有 10 年以上 Laravel 开发经验的开发者将为您提供清晰、实用的反馈,帮助团队构建更优质的应用程序。

几天内即可获得 Laravel 代码审查方面的专家指导
PhpStorm 标志

PhpStorm

首选的 PHP IDE,对 Laravel 及其生态系统提供广泛的开箱即用支持。

PhpStorm
Laravel Cloud 标志

Laravel 云

轻松创建和管理服务器,并在几秒钟内部署 Laravel 应用程序。

Laravel 云
Kirschbaum 标志

樱桃树

提供创新和稳定性,确保您的Web应用程序取得成功。

樱桃树
Shift 标志

转移

还在运行旧版本的 Laravel?立即实现 Laravel 自动升级和代码现代化,让您的应用程序保持最新状态。

转移
鱼叉:新一代时间跟踪和发票标志

Harpoon:新一代时间跟踪和发票系统

新一代时间跟踪和计费软件,帮助您的机构规划和预测盈利的未来。

Harpoon:新一代时间跟踪和发票系统
Lucky Media 标志

幸运传媒

Get Lucky Now——拥有十余年经验的 Laravel 开发理想之选!

幸运传媒
SaaSykit:Laravel SaaS 入门套件徽标

SaaSykit:Laravel SaaS 入门套件

SaaSykit 是一个多租户 Laravel SaaS 入门套件,包含运行现代 SaaS 所需的所有功能,例如支付、美观的结账界面、管理面板、用户仪表盘、身份验证、现成组件、统计数据、博客、文档等等。

SaaSykit:Laravel SaaS 入门套件
Filament v5.2.0 新增标注组件图像

Filament v5.2.0 新增标注组件

阅读文章
OpenAI 发布 GPT-5.3-Codex,一种用于代理式开发图像的新型 Codex 模型

OpenAI 发布 GPT-5.3-Codex,一种用于代理式开发的新型 Codex 模型

阅读文章
Claude Opus 4.6 新增了自适应思维、128K 输出、压缩 API 以及更多图像处理功能。

Claude Opus 4.6 新增了自适应思维、128K 输出、压缩 API 等功能。

阅读文章
Laravel 发布官方 AI SDK,用于构建 AI 应用

Laravel 发布官方 AI SDK,用于构建 AI 应用

阅读文章
Laravel 12.50.0 中的 `hasMany()` 集合方法(图片)

Laravel 12.50.0 中的 `hasMany()` 集合方法

阅读文章
在 Laravel 图片检索中屏蔽敏感的 Eloquent 属性

在 Laravel 中检索时屏蔽 Eloquent 的敏感属性

阅读文章