skynet / period

A time range immutable value object

Home Page:https://period.thephpleague.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Period

Author Latest Version Software License Build Status Coverage Status Total Downloads

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.

Highlights

  • Treats a time range as an immutable value object
  • 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

Documentation

Full documentation can be found at period.thephpleague.com.

System Requirements

You need PHP >= 7.1.3 but the latest stable version of PHP is recommended.

Install

Install Period using Composer.

$ composer require league/period

Testing

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

Contributing

Contributions are welcome and will be fully credited. Please see CONTRIBUTING and CONDUCT for details.

Security

If you discover any security related issues, please email nyamsprod@gmail.com instead of using the issue tracker.

Changelog

Please see CHANGELOG for more information on what has changed recently.

Credits

License

The MIT License (MIT). Please see LICENSE for more information.

About

A time range immutable value object

https://period.thephpleague.com

License:MIT License


Languages

Language:PHP 100.0%