zogot / constraints-date
DateTime约束库。使用此库向验证器添加约束,并验证DateTime对象是否通过这些约束。
1.2.0
2017-07-07 11:27 UTC
Requires (Dev)
- phpunit/phpunit: ~4.0
README
DateTime约束库。使用此库向验证器添加约束,并验证DateTime对象是否通过这些约束。适用于事件或日历库。
安装
通过Composer
$ composer require zogot/constraints-date
用法
<?php require 'vendor/autoload.php'; use Zogo\DateConstraints\Constraints\Day\DayConstraintInterface; use Zogo\DateConstraints\Constraints\Day\SpecificDayConstraint; use Zogo\DateConstraints\Constraints\Month\MonthConstraintInterface; use Zogo\DateConstraints\Constraints\Month\SpecificMonthConstraint; use Zogo\DateConstraints\Validators\AndValidator; // Build a validator instance $validator = new AndValidator(); // Add constraints to that validator $validator ->addConstraint(new SpecificDayConstraint(DayConstraintInterface::TUESDAY)) ->addConstraint(new SpecificMonthConstraint(MonthConstraintInterface::FEBRUARY)) // Attempt a datetime $validator->validFor(new DateTime('Tuesday, 16 Feb 2016 13:00:00 GMT')) // true $validator->validFor(new DateTime('Monday, 15 Feb 2016 13:00:00 GMT')) // false
另一个带有时间范围的示例,适用于工作日验证
<?php // Build the validator instance $validator = new AndValidator(); // Add Constraints to that validator $validator ->addConstraint(new BetweenTimeConstraint(new DateTime('09:00:00'), new DateTime('17:00:00')) // Attempt a datetime $validator->validFor(new DateTime('Tuesday, 16 Feb 2016 13:00:00 GMT')) // true $validator->validFor(new DateTime('Tuesday, 16 Feb 2016 18:00:00 GMT')) // false
测试
我们有一个完整的 PHPUnit 测试套件。要从项目文件夹运行测试,请运行以下命令。
$ composer test
贡献者
欢迎贡献,并将得到充分认可。
许可协议
MIT许可协议(MIT)。请参阅 许可文件 获取更多信息。