spaceonfire / type
2.5.2
2021-09-25 09:44 UTC
Requires
- php: ^7.2|^8.0
- webmozart/assert: ^1.6
Requires (Dev)
- ext-json: *
- roave/security-advisories: dev-latest
README
提供检查值类型能力的对象集合。
安装
通过 Composer
$ composer require spaceonfire/type
用法
use spaceonfire\Type\BuiltinType; use Webmozart\Assert\Assert; $int = new BuiltinType(BuiltinType::INT); Assert::true($int->check(1)); Assert::false($int->check('1')); $intNonStrict = new BuiltinType(BuiltinType::INT, false); Assert::true($intNonStrict->check('1')); Assert::same(1, $intNonStrict->cast('1'));
您还可以使用工厂从字符串创建类型对象
use spaceonfire\Type\Factory\CompositeTypeFactory; use spaceonfire\Type\Factory\MemoizedTypeFactory; $factory = new MemoizedTypeFactory(CompositeTypeFactory::makeWithDefaultFactories()); $factory->make('int'); $factory->make('string[]'); $factory->make('array<string,object>'); $factory->make('int|null'); $factory->make('Traversable|iterable|null'); $factory->make('Traversable&JsonSerializable');
变更日志
有关最近更改的更多信息,请参阅 CHANGELOG。
贡献
在 main spaceonfire 仓库 中 报告问题 和 发送 Pull Requests。请参阅 CONTRIBUTING 和 CODE_OF_CONDUCT 了解详细信息。
鸣谢
许可证
MIT 许可证 (MIT)。请参阅 许可证文件 了解更多信息。