clearvox / constraints-date
DateTime Constraints Library。使用此库为验证器添加约束,并验证DateTime对象是否通过这些约束。
dev-master
2016-02-16 15:12 UTC
Requires (Dev)
- phpunit/phpunit: ~4.0
This package is not auto-updated.
Last update: 2024-09-28 19:09:23 UTC
README
DateTime Constraints Library。使用此库为验证器添加约束,并验证DateTime对象是否通过这些约束。适用于事件或日历库。
安装
通过Composer
$ composer require clearvox/constraints-date
用法
<?php require 'vendor/autoload.php'; use Clearvox\DateConstraints\Constraints\Day\DayConstraintInterface; use Clearvox\DateConstraints\Constraints\Day\SpecificDayConstraint; use Clearvox\DateConstraints\Constraints\Month\MonthConstraintInterface; use Clearvox\DateConstraints\Constraints\Month\SpecificMonthConstraint; use Clearvox\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)。请参阅许可证文件以获取更多信息。