Giter Site home page Giter Site logo

rapidwebltd / php-uk-bank-holidays Goto Github PK

View Code? Open in Web Editor NEW
12.0 7.0 3.0 41 KB

🏖️ PHP UK Bank Holidays lets developers easily retrieve UK bank holiday details.

License: GNU Lesser General Public License v3.0

PHP 100.00%
php-library bank-holidays uk-bank-holiday retrieving-bank-holidays

php-uk-bank-holidays's Introduction

PHP UK Bank Holidays

Build Status Coverage Status StyleCI Packagist

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.

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.

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.

$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.

$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.

php-uk-bank-holidays's People

Contributors

200mph avatar divineomega avatar kirsty-gasston avatar ojdon avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

php-uk-bank-holidays's Issues

A facade root has not been set.

Just installed this, but when looking at front end I get the PHP error "A facade root has not been set."

Line 44: rapidwebltd/php-uk-bank-holidays/src/Objects/DataRetrievers/GovUkDataRetriever.php
if (!($data = $this->cache->get($this->cacheKey))) {

Is there a reliance on a database?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.