scheb / comparator
此包已被废弃,不再维护。未建议替代包。
比较值是否相等
v1.0.0
2018-09-02 12:38 UTC
Requires
- php: ^7.1.3
Requires (Dev)
- phpunit/phpunit: ^7.2
This package is auto-updated.
Last update: 2022-01-11 13:25:31 UTC
README
此库用于比较两个值是否相等。
如果您需要添加自己的规则来比较特定值,可以通过扩展库来使用您自己的比较策略。
功能
- 简单的相等比较(
==
或===
) - 用于您自己的比较规则的策略接口
安装
composer require scheb/comparator
如何使用
$comparator = new \Scheb\Comparator\Comparator(true); // Type-sensive equal (===) $comparator->isEqual(0, "0"); // Returns false $comparator->isEqual(0, ""); // Returns false $comparator->isEqual(0, 0); // Returns true $comparator->isEqual(0, "foo"); // Returns false $comparator = new \Scheb\Comparator\Comparator(false); // Type-insensive equal (==) $comparator->isEqual(0, "0"); // Returns true $comparator->isEqual(0, ""); // Returns true $comparator->isEqual(0, 0); // Returns true $comparator->isEqual(0, "foo"); // Returns false
如何扩展
要添加自己的比较策略,实现 Scheb\Comparator\ValueComparisonStrategyInterface
。
然后,通过构造函数参数 $customComparisonStrategies
添加该类的实例到 Scheb\Comparator\Comparator
。
自定义比较策略优先于默认策略。
贡献
您可以通过在问题部分创建拉取请求或功能请求来为此库做出贡献。对于拉取请求,请遵循以下指南
- Symfony 代码风格
- PHP7.1 类型提示用于所有内容(包括:返回类型、
void
、可空类型) - 请添加/更新测试用例
- 测试方法应命名为
[方法]_[场景]_[预期结果]
要运行测试套件,使用 composer install
安装依赖项,然后执行 bin/phpunit
。
许可
此软件包可在MIT 许可证下获得。