spekulatius/laravel-powertools

个人收集的 Laravel 辅助函数,我的 powertools。

0.3.2 2023-08-07 10:21 UTC

This package is auto-updated.

Last update: 2024-09-07 12:51:09 UTC


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

这是一个个人收集的方便的助手、工具和实用程序的集合,我在各种 Laravel 项目中使用过。但是请注意,这些是供个人使用和开发的,因此请自行承担风险。

特性

maskSensitiveData:集合宏以掩码敏感数据

maskSensitiveData 是 Laravel 集合宏,提供在集合中掩码敏感数据的功能。该宏准备掩码字段正则表达式以供使用,并根据正则表达式和自定义字段将掩码应用于敏感数据。它遍历集合,将任何匹配正则表达式的数据替换为 [masked] 掩码值。此功能在处理敏感数据集合时很有用,旨在保护敏感数据的安全。

使用方法

collect(['password' => 'this really should not be logged...'])
  ->maskSensitiveData()
  ->toArray();

// 'password' => '[masked]'

ToLog:模型特质以记录上下文

ToLog 特质是一个简单的特质,可以添加到模型中,允许您将模型数据作为日志上下文总结。它基本上是 ->toArray() 方法的简化版本,旨在以类似 \Log::error('....', $entry->toLog()); 的方式使用。默认情况下已运行 maskSensitiveData

SelfDeletingTemporaryDirectory

Spaties TemporaryDirectory 的扩展,在 120 分钟后(可配置)删除自己。

use Spekulatius\LaravelPowertools\Helpers\SelfDeletingTemporaryDirectory;

// ...

$tempDir = new SelfDeletingTemporaryDirectory;

// use like TemporaryDirectory from Spatie.

我常用的使用方式

$tempFile = (new SelfDeletingTemporaryDirectory)->create()->path('temp.zip');

兼容性

此项目已在 Laravel 10 上使用 PHP 8.1 或 8.2 进行测试。它应该在 Laravel 9 上也能工作,尽管尚未在该版本上进行测试。

安装

您可以通过 composer 安装此包

composer require spekulatius/laravel-powertools

您可以使用以下命令发布配置文件

php artisan vendor:publish --tag="laravel-powertools-config"

测试

该项目在大约 Laravel 10 上进行了测试。

composer test

变更日志

有关最近更改的更多信息,请参阅 CHANGELOG

贡献

有关详细信息,请参阅 CONTRIBUTING

安全漏洞

有关如何报告安全漏洞的详细信息,请参阅 我们的安全策略

致谢

许可

MIT 许可证(MIT)。有关更多信息,请参阅 许可文件