pierswarmers / mandate
Simple utility for describing date based rules.
Installs: 19
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/pierswarmers/mandate
Requires
- php: >=5.4
This package is not auto-updated.
Last update: 2025-12-20 23:11:27 UTC
README
Simple utility for testing dates against chained rules.
Installation
The recommended way to install ManDate is through
Composer. Require the pierswarmers/mandate package
into your composer.json file:
composer require "pierswarmers/mandate" dev-master
composer require "pierswarmers/mandate" dev-master
Or in your composer.json file:
{
"require": {
"pierswarmers/mandate": "dev-master"
}
}
Usage
use ManDate\Mandate; use ManDate\Rule\WeekdayRule; use ManDate\Rule\DaytimeRule; use ManDate\Rule\MorningRule; $mandate = new Mandate(); $mandate ->andWhere(new WeekdayRule()) ->andWhere(new DaytimeRule()) ->andWhereNot(new MorningRule()) ; $date = new \DateTime('2015-03-02 11:30', new \DateTimeZone('Australia/Sydney')); if ($mandate->validate($date)) { echo 'It\'s a weekday afternoon!'; }
Rules
| Rule | Details |
|---|---|
| AfternoonRule | Later than midday. |
| CollisionRule | Collides with another date. |
| DaytimeRule | After sunrise and before sunset. |
| MorningRule | Earlier than midday. |
| NighttimeRule | After sunset and before sunrise. |
| WeekdayRule | Monday to Friday. |
| WeekendRule | Saturday and Sunday. |