clearvox/constraints-date

DateTime Constraints Library。使用此库为验证器添加约束,并验证DateTime对象是否通过这些约束。

dev-master 2016-02-16 15:12 UTC

This package is not auto-updated.

Last update: 2024-09-28 19:09:23 UTC


README

Travis

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)。请参阅许可证文件以获取更多信息。