mirror of
https://github.com/holidayapi/holidayapi-php.git
synced 2025-06-21 04:16:31 +00:00
Official PHP library for Holiday API
https://holidayapi.com
* feat: pull country or language by code. This differs from the existing `search` functionality in that it allows you to explicitly pull back a single country or language instead of anything that matches (which could result in more items returned than expected). * docs(readme): update to include examples for new functionality. * test: expand tests to include new parameters. * fix(client): dropped some commented out code that wasn't in use. * docs(license): bump the year of the license. |
||
---|---|---|
src | ||
tests | ||
.coveralls.yml | ||
.gitignore | ||
.travis.yml | ||
composer.json | ||
LICENSE | ||
phpunit.xml | ||
README.md |
Holiday API PHP Library
Official PHP library for Holiday API providing quick and easy access to holiday information from applications written in PHP.
Migrating from 1.x
Please note, version 2.x of this library is a full rewrite of the 1.x series. The interfacing to the library has been simplified and existing applications upgrading to 2.x will need to be updated.
Version 1.x Syntax (Old) | Version 2.x Syntax (New) |
---|---|
$holiday_api = new \HolidayAPI\v1($key); |
$holiday_api = new \HolidayAPI\Client(['key' => $key]); |
Version 1.x of the library can still be found here.
Documentation
Full documentation of the Holiday API endpoints is available here.
Installation
composer require holidayapi/holidayapi-php
Usage
$key = 'Insert your API key here';
$holiday_api = new \HolidayAPI\Client(['key' => $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
$holiday_api->countries();
Fetch a supported country by code
$holiday_api->countries([
'country' => 'NO',
]);
Search for countries by code or name
$holiday_api->countries([
'search' => 'united',
]);
Languages
Fetch all supported languages
$holiday_api->languages();
Fetch a supported language by code
$holiday_api->languages([
'language' => 'es',
]);
Search for languages by code or name
$holiday_api->languages([
'search' => 'Chinese',
]);
Holidays
Fetch holidays for a specific year
$holiday_api->holidays([
'country' => 'US',
'year' => 2019,
]);
Fetch holidays for a specific month
$holiday_api->holidays([
'country' => 'US',
'year' => 2019,
'month' => 7,
]);
Fetch holidays for a specific day
$holiday_api->holidays([
'country' => 'US',
'year' => 2019,
'month' => 7,
'day' => 4,
]);
Fetch upcoming holidays based on a specific date
$holiday_api->holidays([
'country' => 'US',
'year' => 2019,
'month' => 7,
'day' => 4,
'upcoming' => true,
]);
Fetch previous holidays based on a specific date
$holiday_api->holidays([
'country' => 'US',
'year' => 2019,
'month' => 7,
'day' => 4,
'previous' => true,
]);
Fetch only public holidays
$holiday_api->holidays([
'country' => 'US',
'year' => 2019,
'public' => true,
]);
Fetch holidays for a specific subdivision
$holiday_api->holidays([
'country' => 'GB-ENG',
'year' => 2019,
]);
Include subdivision holidays with countrywide holidays
$holiday_api->holidays([
'country' => 'US',
'year' => 2019,
'subdivisions' => true,
]);
Search for a holiday by name
$holiday_api->holidays([
'country' => 'US',
'year' => 2019,
'search' => 'New Year',
]);
Translate holidays to another language
$holiday_api->holidays([
'country' => 'US',
'year' => 2019,
'language' => 'zh', // Chinese (Simplified)
]);
Fetch holidays for multiple countries
$holiday_api->holidays([
'country' => 'US,GB,NZ',
'year' => 2019,
]);
$holiday_api->holidays([
'country' => ['US', 'GB', 'NZ'],
'year' => 2019,
]);