mirror of
https://github.com/holidayapi/holidayapi-php.git
synced 2025-06-21 04:16:31 +00:00
Seemed overdue to finally drop support for PHP 5.x, as well as 7.x as the 7 series has also reached end of life. Expanded testing to include both the soon to be released 8.3 and the next development version 8.4.
266 lines
4.2 KiB
Markdown
266 lines
4.2 KiB
Markdown
# Holiday API PHP Library
|
|
|
|
[](https://github.com/holidayapi/holidayapi-php/blob/master/LICENSE)
|
|

|
|
[](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
|
|
<?php
|
|
$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
|
|
|
|
```php
|
|
<?php
|
|
$holiday_api->countries();
|
|
```
|
|
|
|
#### Fetch only countries with public holidays
|
|
|
|
```php
|
|
<?php
|
|
$holiday_api->countries([
|
|
'public' => true,
|
|
]);
|
|
```
|
|
|
|
#### Fetch a supported country by code
|
|
|
|
```php
|
|
<?php
|
|
$holiday_api->countries([
|
|
'country' => 'NO',
|
|
]);
|
|
```
|
|
|
|
#### Search for countries by code or name
|
|
|
|
```php
|
|
<?php
|
|
$holiday_api->countries([
|
|
'search' => 'united',
|
|
]);
|
|
```
|
|
|
|
### Languages
|
|
|
|
#### Fetch all supported languages
|
|
|
|
```php
|
|
<?php
|
|
$holiday_api->languages();
|
|
```
|
|
|
|
#### Fetch a supported language by code
|
|
|
|
```php
|
|
<?php
|
|
$holiday_api->languages([
|
|
'language' => 'es',
|
|
]);
|
|
```
|
|
|
|
#### Search for languages by code or name
|
|
|
|
```php
|
|
<?php
|
|
$holiday_api->languages([
|
|
'search' => 'Chinese',
|
|
]);
|
|
```
|
|
|
|
### Holidays
|
|
|
|
#### Fetch holidays for a specific year
|
|
|
|
```php
|
|
<?php
|
|
$holiday_api->holidays([
|
|
'country' => 'US',
|
|
'year' => 2019,
|
|
]);
|
|
```
|
|
|
|
#### Fetch holidays for a specific month
|
|
|
|
```php
|
|
<?php
|
|
$holiday_api->holidays([
|
|
'country' => 'US',
|
|
'year' => 2019,
|
|
'month' => 7,
|
|
]);
|
|
```
|
|
|
|
#### Fetch holidays for a specific day
|
|
|
|
```php
|
|
<?php
|
|
$holiday_api->holidays([
|
|
'country' => 'US',
|
|
'year' => 2019,
|
|
'month' => 7,
|
|
'day' => 4,
|
|
]);
|
|
```
|
|
|
|
#### Fetch upcoming holidays based on a specific date
|
|
|
|
```php
|
|
<?php
|
|
$holiday_api->holidays([
|
|
'country' => 'US',
|
|
'year' => 2019,
|
|
'month' => 7,
|
|
'day' => 4,
|
|
'upcoming' => true,
|
|
]);
|
|
```
|
|
|
|
#### Fetch previous holidays based on a specific date
|
|
|
|
```php
|
|
<?php
|
|
$holiday_api->holidays([
|
|
'country' => 'US',
|
|
'year' => 2019,
|
|
'month' => 7,
|
|
'day' => 4,
|
|
'previous' => true,
|
|
]);
|
|
```
|
|
|
|
#### Fetch only public holidays
|
|
|
|
```php
|
|
<?php
|
|
$holiday_api->holidays([
|
|
'country' => 'US',
|
|
'year' => 2019,
|
|
'public' => true,
|
|
]);
|
|
```
|
|
|
|
#### Fetch holidays for a specific subdivision
|
|
|
|
```php
|
|
<?php
|
|
$holiday_api->holidays([
|
|
'country' => 'GB-ENG',
|
|
'year' => 2019,
|
|
]);
|
|
```
|
|
|
|
#### Include subdivision holidays with countrywide holidays
|
|
|
|
```php
|
|
<?php
|
|
$holiday_api->holidays([
|
|
'country' => 'US',
|
|
'year' => 2019,
|
|
'subdivisions' => true,
|
|
]);
|
|
```
|
|
|
|
#### Search for a holiday by name
|
|
|
|
```php
|
|
<?php
|
|
$holiday_api->holidays([
|
|
'country' => 'US',
|
|
'year' => 2019,
|
|
'search' => 'New Year',
|
|
]);
|
|
```
|
|
|
|
#### Translate holidays to another language
|
|
|
|
```php
|
|
<?php
|
|
$holiday_api->holidays([
|
|
'country' => 'US',
|
|
'year' => 2019,
|
|
'language' => 'zh', // Chinese (Simplified)
|
|
]);
|
|
```
|
|
|
|
#### Fetch holidays for multiple countries
|
|
|
|
```php
|
|
<?php
|
|
$holiday_api->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
|
|
<?php
|
|
$holiday_api->workday([
|
|
'country' => 'US',
|
|
'start' => '2019-07-01',
|
|
'days' => 7,
|
|
]);
|
|
```
|
|
|
|
### Workdays
|
|
|
|
#### Fetch number of workdays between two dates
|
|
|
|
```php
|
|
<?php
|
|
$holiday_api->workdays([
|
|
'country' => 'US',
|
|
'start' => '2019-07-01',
|
|
'end' => '2019-07-10',
|
|
]);
|
|
```
|