yzen.dev / typer
从动态实例获取属性
0.2.1
2024-02-23 21:49 UTC
Requires
- php: ^7.4 || ^8.0
Requires (Dev)
- mockery/mockery: 1.5.1
- phpbench/phpbench: 1.2.8
- phpunit/phpunit: 10.2.1
- roave/infection-static-analysis-plugin: 1.34
- squizlabs/php_codesniffer: 3.7.1
- vimeo/psalm: 5.22.1
This package is auto-updated.
Last update: 2024-09-23 23:10:05 UTC
README
这是一个简单的辅助包,有助于使代码更简洁。通常,当处理来自第三方源(如网站解析)的数据时,您可能需要编写数百行代码来检查特定属性。
很可能,您编写了很多if或三元运算符,代码看起来可能像这样
$user = new User(); $user->id = isset($dynamicArray['id']) ? (int)$dynamicArray['id'] : null; $user->email = isset($dynamicArray['email']) ? (string)$dynamicArray['email'] : null; $user->balance = isset($dynamicArray['balance']) ? (float)$dynamicArray['balance'] : null; $user->blocked = isset($dynamicArray['blocked']) ? ($dynamicArray['blocked'] === 'true' ? true : false) : null;
当使用 Typer 时,您无需担心进行许多检查和转换。只需将代码包裹在 typer
方法中
$user = new User(); $user->id = Typer::int($dynamicArray, 'id'); $user->email = Typer::string($dynamicArray, 'email'); $user->balance = Typer::float($dynamicArray, 'balance'); $user->blocked = Typer::bool($dynamicArray, 'blocked');
如果在没有参数的情况下,您需要指定除了“null”之外的其他默认值,您只需将其作为第二个参数传递
$user->balance = Typer::float($dynamicArray, 'balance', 10.0);
安装
此包可以通过composer安装
composer require yzen.dev/typer