# Holiday API PHP Library [![License](https://img.shields.io/packagist/l/holidayapi/holidayapi-php?style=for-the-badge)](https://github.com/holidayapi/holidayapi-php/blob/master/LICENSE) ![PHP Version](https://img.shields.io/packagist/php-v/holidayapi/holidayapi-php?style=for-the-badge) [![Code Coverage](https://img.shields.io/codecov/c/github/holidayapi/holidayapi-php?style=for-the-badge)](https://codecov.io/gh/holidayapi/holidayapi-php) Official PHP library for [Holiday API](https://holidayapi.com) providing quick and easy access to holiday information from applications written in PHP. ## Documentation Full documentation of the Holiday API endpoints is available [here](https://holidayapi.com/docs). ## Installation ```shell composer require holidayapi/holidayapi-php ``` ## Usage ```php $key]); try { // Fetch supported countries and subdivisions $countries = $holiday_api->countries(); // Fetch supported languages $languages = $holiday_api->languages(); // Fetch holidays with minimum parameters $holidays = $holiday_api->holidays([ 'country' => 'US', 'year' => 2019, ]); var_dump($countries, $languages, $holidays); } catch (Exception $e) { var_dump($e); } ``` ## Examples ### Countries #### Fetch all supported countries ```php countries(); ``` #### Fetch only countries with public holidays ```php countries([ 'public' => true, ]); ``` #### Fetch a supported country by code ```php countries([ 'country' => 'NO', ]); ``` #### Search for countries by code or name ```php countries([ 'search' => 'united', ]); ``` ### Languages #### Fetch all supported languages ```php languages(); ``` #### Fetch a supported language by code ```php languages([ 'language' => 'es', ]); ``` #### Search for languages by code or name ```php languages([ 'search' => 'Chinese', ]); ``` ### Holidays #### Fetch holidays for a specific year ```php holidays([ 'country' => 'US', 'year' => 2019, ]); ``` #### Fetch holidays for a specific month ```php holidays([ 'country' => 'US', 'year' => 2019, 'month' => 7, ]); ``` #### Fetch holidays for a specific day ```php holidays([ 'country' => 'US', 'year' => 2019, 'month' => 7, 'day' => 4, ]); ``` #### Fetch upcoming holidays based on a specific date ```php holidays([ 'country' => 'US', 'year' => 2019, 'month' => 7, 'day' => 4, 'upcoming' => true, ]); ``` #### Fetch previous holidays based on a specific date ```php holidays([ 'country' => 'US', 'year' => 2019, 'month' => 7, 'day' => 4, 'previous' => true, ]); ``` #### Fetch only public holidays ```php holidays([ 'country' => 'US', 'year' => 2019, 'public' => true, ]); ``` #### Fetch holidays for a specific subdivision ```php holidays([ 'country' => 'GB-ENG', 'year' => 2019, ]); ``` #### Include subdivision holidays with countrywide holidays ```php holidays([ 'country' => 'US', 'year' => 2019, 'subdivisions' => true, ]); ``` #### Search for a holiday by name ```php holidays([ 'country' => 'US', 'year' => 2019, 'search' => 'New Year', ]); ``` #### Translate holidays to another language ```php holidays([ 'country' => 'US', 'year' => 2019, 'language' => 'zh', // Chinese (Simplified) ]); ``` #### Fetch holidays for multiple countries ```php holidays([ 'country' => 'US,GB,NZ', 'year' => 2019, ]); $holiday_api->holidays([ 'country' => ['US', 'GB', 'NZ'], 'year' => 2019, ]); ``` ### Workday #### Fetch workday 7 business days after a date ```php workday([ 'country' => 'US', 'start' => '2019-07-01', 'days' => 7, ]); ``` ### Workdays #### Fetch number of workdays between two dates ```php workdays([ 'country' => 'US', 'start' => '2019-07-01', 'end' => '2019-07-10', ]); ```