Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rapidwebltd/php-uk-bank-holidays
ποΈ PHP UK Bank Holidays lets developers easily retrieve UK bank holiday details.
https://github.com/rapidwebltd/php-uk-bank-holidays
bank-holidays php-library retrieving-bank-holidays uk-bank-holiday
Last synced: about 1 month ago
JSON representation
ποΈ PHP UK Bank Holidays lets developers easily retrieve UK bank holiday details.
- Host: GitHub
- URL: https://github.com/rapidwebltd/php-uk-bank-holidays
- Owner: rapidwebltd
- License: lgpl-3.0
- Created: 2017-03-13T10:15:06.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2021-11-18T21:34:48.000Z (about 3 years ago)
- Last Synced: 2024-10-13T13:20:55.826Z (2 months ago)
- Topics: bank-holidays, php-library, retrieving-bank-holidays, uk-bank-holiday
- Language: PHP
- Homepage:
- Size: 40 KB
- Stars: 13
- Watchers: 7
- Forks: 3
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# PHP UK Bank Holidays
[![Build Status](https://travis-ci.org/rapidwebltd/php-uk-bank-holidays.svg?branch=master)](https://travis-ci.org/rapidwebltd/php-uk-bank-holidays)
[![Coverage Status](https://coveralls.io/repos/github/rapidwebltd/php-uk-bank-holidays/badge.svg?branch=master)](https://coveralls.io/github/rapidwebltd/php-uk-bank-holidays?branch=master)
[![StyleCI](https://styleci.io/repos/84812494/shield?branch=master)](https://styleci.io/repos/84812494)
[![Packagist](https://img.shields.io/packagist/dt/rapidwebltd/php-uk-bank-holidays.svg)](https://packagist.org/packages/rapidwebltd/php-uk-bank-holidays/stats)This library lets developers easily retrieve UK bank holiday details. Holidays can be retrieved for
England & Wales, Scotland, and Northern Ireland. Information about these holidays can optionally be
restricted by month or date.## Installation
To install, just run the following composer command.`composer require rapidwebltd/php-uk-bank-holidays`
Remember to include the `vendor/autoload.php` file if your framework does not do this for you.
## Usage
Retrieving bank holidays for a specific date can be done as follows. By default this will bring
back holidays from England & Wales.```php
use RapidWeb\UkBankHolidays\Factories\UkBankHolidayFactory;$holidays = UkBankHolidayFactory::getByDate(2017, 01, 2);
var_dump($holidays);
```### UKBankHoliday object
All `UkBankHolidayFactory` methods will return an array of `UkBankHoliday` objects. The following
snippet shows an example object for the 2017 New Year's Day bank holiday, which occurs on the 2nd
of January 2017.```php
array(1) {
[0]=>
object(RapidWeb\UkBankHolidays\Objects\UkBankHoliday)#46 (4) {
["title"]=>
string(16) "New Yearβs Day"
["date"]=>
string(10) "2017-01-02"
["notes"]=>
string(14) "Substitute day"
}
}
```This object contains a title for the holiday, the date it occurs, and government provided notes
regarding the holiday, if available. All of these are publicly accessible.### Location restriction
If you wish to retrieve bank holidays from Scotland or Northern Ireland, make use of the 4th optional
argument, as follows.```php
$englandWalesHolidays = UkBankHolidayFactory::getByDate(2017, 01, 2, 'england-and-wales');
$scotlandHolidays = UkBankHolidayFactory::getByDate(2017, 01, 2, 'scotland');
$northernIrelandHolidays = UkBankHolidayFactory::getByDate(2017, 01, 2, 'northern-ireland');$allHolidays = array_merge($englandWalesHolidays, $scotlandHolidays, $northernIrelandHolidays);
```### Date-based restrictions
You can use this library to retrieve all holidays or alternatively holidays restricted by month or date.
This is easily done using the `getAll`, `getByMonth` and `getByDate` methods respectively.See the following examples.
```php
$allHolidays = UkBankHolidayFactory::getAll();
$januaryHolidays = UkBankHolidayFactory::getByMonth(2017, 01);
$newYearsHolidays = UkBankHolidayFactory::getByDate(2017, 01, 2);
```All of these methods accept an additional optional argument to specify the location of the holidays you wish to
retrieve. For more details, see the location restriction section above.