spekulatius / laravel-powertools
个人收集的 Laravel 辅助函数,我的 powertools。
0.3.2
2023-08-07 10:21 UTC
Requires
- php: ^8.1
- illuminate/contracts: ^8.0|^9.28|^10.0
- spatie/laravel-package-tools: ^1.0
- spatie/temporary-directory: ^2.0
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.9
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^8.0
- pestphp/pest: ^2.0
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
README
这是一个个人收集的方便的助手、工具和实用程序的集合,我在各种 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)。有关更多信息,请参阅 许可文件。