lemaur / laravel-typed-arr
Requires
- php: ^8.1
- illuminate/contracts: ^10.0
- spatie/laravel-package-tools: ^1.14.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-laravel: ^2.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
This package is auto-updated.
Last update: 2024-09-08 11:53:30 UTC
README
此包提供了一种面向对象的方法来检索具有正确类型的数组数据。
如果您熟悉静态分析工具,例如 phpstan,您可能遇到过 无法将混合类型转换为字符串
错误(或类似错误)。
这通常发生在您尝试将具有 mixed
返回类型的方法/函数返回的值进行类型转换时。
使用此包,您可以直接从 Arr 辅助函数 获取字符串值(不仅仅是字符串),例如
use \Illuminate\Support\Arr; /** @var \Illuminate\Support\Stringable $myValue */ $myValue = Arr::string($data, 'my-value');
支持我
大家好,
您喜欢这个包吗?您觉得它有用,并且它非常适合您的项目吗?
我很高兴能帮助您,如果您考虑支持我的工作,我将不胜感激。
您甚至可以选择 😃
- 您可以通过 成为我的赞助者 😎 以每月订阅的形式支持我。
- 您可以为这个包 买我一杯咖啡 ☕ 或一块披萨 🍕。
- 您还可以 种树 🌴。通过使用此链接,我们将都免费获得30棵树,并且地球(和我)将感谢您。
- 您还可以“Star ⭐”此存储库(这是免费的 😉)。
安装
您可以通过 composer 安装此包
composer require lemaur/laravel-typed-arr
用法
从 Arr 辅助函数获取 Stringable
您可以使用 string
方法将 Arr 辅助函数项检索为 Illuminate\Support\Stringable
实例。
use \Illuminate\Support\Arr; /** @var \Illuminate\Support\Stringable $name */ $name = Arr::string($data, 'name');
从 Arr 辅助函数获取布尔值
您可以使用 boolean
方法将 Arr 辅助函数项检索为布尔值。当值为 1、"1"、true、"true"、"on" 或 "yes" 时,该方法返回 true
。所有其他值将返回 false
。
use \Illuminate\Support\Arr; /** @var bool $archived */ $archived = Arr::boolean($data, 'archived');
从 Arr 辅助函数获取整数
您可以使用 integer
方法将 Arr 辅助函数项检索为整数。
use \Illuminate\Support\Arr; /** @var int $count */ $count = Arr::integer($data, 'count');
从 Arr 辅助函数获取浮点数
您可以使用 float
方法将 Arr 辅助函数项检索为浮点数。
use \Illuminate\Support\Arr; /** @var float $amount */ $amount = Arr::float($data, 'amount');
从 Arr 辅助函数获取日期
您可以使用 date
方法将 Arr 辅助函数项检索为 Carbon 实例。
use \Illuminate\Support\Arr; /** @var \Carbon\Carbon $birthday */ $birthday = Arr::date($data, 'birthday');
date
方法接受的第二个和第三个参数可以分别用于指定日期的格式和时区。
use \Illuminate\Support\Arr; /** @var \Carbon\Carbon $elapsed */ $elapsed = Arr::date($data, 'elapsed', '!H:i', 'Europe/Madrid');
如果格式无效,将抛出 InvalidArgumentException
。
从 Arr 辅助函数获取枚举
您可以使用 enum
方法将 Arr 辅助函数项检索为 PHP 枚举 实例。如果值无效或枚举没有与输入值匹配的备份值,则返回 null
。该 enum
方法接受输入值的名称和枚举类作为其第一个和第二个参数。
use App\Enums\Status; use \Illuminate\Support\Arr; /** @var Status $status */ $status = Arr::enum($data, 'status', Status::class);
测试
composer test
更新日志
请参阅 更新日志 以获取有关最近更改的更多信息。
贡献
请参阅 贡献指南 以获取详细信息。
安全漏洞
请查看我们关于如何报告安全漏洞的安全策略安全策略链接。
致谢
许可证
MIT许可证(MIT)。请参阅许可证文件以获取更多信息。