此包已被废弃且不再维护。作者建议使用 getwarp/type 包。

提供检查值类型能力的对象集合

资助包维护!
Liberapay

2.5.2 2021-09-25 09:44 UTC

This package is auto-updated.

Last update: 2022-06-12 16:28:41 UTC


README

Latest Version on Packagist Software License Total Downloads Code Coverage

提供检查值类型能力的对象集合。

安装

通过 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。请参阅 CONTRIBUTINGCODE_OF_CONDUCT 了解详细信息。

鸣谢

许可证

MIT 许可证 (MIT)。请参阅 许可证文件 了解更多信息。