1. Go to this page and download the library: Download midnite81/bank-holidays library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
midnite81 / bank-holidays example snippets
use Midnite81\BankHolidays\Contracts\IBankHoliday;
public function myFunction(IBankHoliday $bankHoliday)
{
$bankHolidayEntity = $bankHoliday->bankHolidayDetail(
\Carbon\Carbon::create(2020, 01, 01),
\Midnite81\BankHolidays\Enums\Territory::ENGLAND_AND_WALES
);
// if the date provided is a bank holiday a BankHolidayEntity is returned
// otherwise it returns null. If the entity is returned you can access the entity properties below.
if ($bankHoliday->isBankHoliday(
\Carbon\Carbon::create(2020, 01, 01),
\Midnite81\BankHolidays\Enums\Territory::ENGLAND_AND_WALES
)) {
// if it is a bank holiday do this ...
}
}
use Midnite81\BankHolidays\Contracts\IBankHoliday;
public function myFunction(IBankHoliday $bankHoliday)
{
$bankHolidays = $bankHoliday->getAll(\Midnite81\BankHolidays\Enums\Territory::ENGLAND_AND_WALES);
foreach($bankHolidays as $bankHoliday) {
echo $bankHoliday->title . "<br>\n";
}
}
use Midnite81\BankHolidays\Contracts\IBankHoliday;
public function myFunction(IBankHoliday $bankHoliday)
{
$minimumDate = $bankHoliday->getMinDate(\Midnite81\BankHolidays\Enums\Territory::ENGLAND_AND_WALES);
$maximumDate = $bankHoliday->getMaxDate(\Midnite81\BankHolidays\Enums\Territory::ENGLAND_AND_WALES);
}
public function someFunction()
{
$config = [
'cache-duration' => 60 * 60 * 24,
'bank-holiday-url' => 'https://www.gov.uk/bank-holidays.json',
'cache-key' => 'midnite81-bank-holidays',
'cache-class' => YourCacheClass::class, // you will need to create a cache class
'filesystem-class' => \Midnite81\BankHolidays\Drivers\PhpFileSystem::class,
'http-client' => null,
'failure-backup' => true,
'request-factory' => null
];
$cache = new YourCacheClass(); // this must implement \Midnite81\BankHolidays\Contracts\Drivers\ICache
$client = new \Midnite81\BankHolidays\Services\Client(null, null, $config);
$bankHoliday = new \Midnite81\BankHolidays\BankHoliday($client, $cache, $config);
// Once you have $bankHoliday instantiated you can use the following methods
$bankHoliday->getAll(int $territory);
$bankHoliday->bankHolidayDetail(Carbon $date, int $territory);
// for territory please use the constants in `Midnite81\BankHolidays\Enums\Territory`
}
Midnite81\BankHolidays\Enums\Territory::ENGLAND_AND_WALES; // England and Wales
Midnite81\BankHolidays\Enums\Territory::SCOTLAND; // Scotland
Midnite81\BankHolidays\Enums\Territory::NORTHERN_IRELAND; // Northern Ireland
Midnite81\BankHolidays\Enums\Territory::ALL; // All territories (e.g. England, Wales, Scotland and Northern Ireland)