Period is PHP's missing Time Range API. It is based on Resolving Feature Envy in the Domain by Mathias Verraes and extends the concept to cover all basic operations regarding time ranges.
- Treats Time Range as immutable value objects
- Exposes many named constructors to ease time range creation
- Covers all basic manipulations related to time range
- Fully documented
- Framework-agnostic
- Composer ready, PSR-2, and PSR-4 compliant
Full documentation can be found at period.thephpleague.com.
You need PHP >= 5.5.0 or HHVM >= 3.4 but the latest stable version is recommended.
Install Period
using Composer.
$ composer require league/period
League\Period
has a PHPUnit test suite and a coding style compliance test suite using PHP CS Fixer. To run the tests, run the following command from the project folder.
$ composer test
Contributions are welcome and will be fully credited. Please see CONTRIBUTING and CONDUCT for details.
If you discover any security related issues, please email nyamsprod@gmail.com instead of using the issue tracker.
The MIT License (MIT). Please see LICENSE for more information.