Period

PHP 的时间范围 API。(PHP's time range API)

Github stars Tracking Chart

Period

Author
Latest Version
Software License
Build Status
Coverage Status
Infection MSI
Total Downloads

Period is PHP's missing time range API. Based on ideas from Resolving Feature Envy in the Domain by Mathias Verraes, this package extends the concept to cover all basic operations regarding time ranges.

Highlights

  • Represents Interval, Datepoint, Duration and Collection as value objects
  • Exposes named constructors to ease object creation
  • Covers all basic manipulations related to time range
  • Enables working with simple or complex time ranges logic
  • Fully documented
  • Framework-agnostic

Documentation

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

System Requirements

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

Install

Install Period using Composer.

$ composer require league/period

or download the library and:

  • use any other PSR-4 compatible autoloader.
  • use the bundle autoloader script as shown below:
require 'path/to/period/repo/autoload.php';

use League\Period\Datepoint;

Datepoint::create('2012-05-23')->getDay()->getDateInterval();
//returns new DateInterval('P1D');

where path/to/period/repo represents the path where the library was extracted.

Testing

Period has:

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.

Main metrics

Overview
Name With Ownerthephpleague/period
Primary LanguagePHP
Program languagePHP (Language Count: 1)
PlatformBSD, Linux, Mac, Windows
License:MIT License
所有者活动
Created At2014-09-19 13:20:25
Pushed At2024-12-08 14:24:41
Last Commit At2024-12-08 15:24:36
Release Count44
Last Release Name5.3.2 (Posted on )
First Release Name0.1.0 (Posted on )
用户参与
Stargazers Count727
Watchers Count18
Fork Count43
Commits Count889
Has Issues Enabled
Issues Count58
Issue Open Count0
Pull Requests Count69
Pull Requests Open Count0
Pull Requests Close Count9
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private