PHP code example of innonazarene / ph-holiday-calendar

1. Go to this page and download the library: Download innonazarene/ph-holiday-calendar 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/ */

    

innonazarene / ph-holiday-calendar example snippets


use PhHolidayCalendar\Facades\PhHolidayCalendar;

// 1. Manually query your own database, format it however you want
$myActivities = [
    [
        'id' => 1,
        'title' => 'Personal Vacation',
        'date' => '2026-05-10',
        'type' => 'personal'
    ]
];

// 2. Combined holidays + your manual activities for a month
$data = PhHolidayCalendar::forMonth(year: 2026, month: 5, activitiesList: $myActivities);
// [
//   'ph_holidays'     => [ ... ],
//   'activities_list' => [ ... ]
// ]

// Combined for a full year
$data = PhHolidayCalendar::forYear(year: 2026, activitiesList: $myActivities);

// Holidays only
$holidays = PhHolidayCalendar::holidays(2026);

// Check a specific date
PhHolidayCalendar::isHoliday('2026-12-25');      // true
PhHolidayCalendar::holidayOn('2026-12-25');       // Holiday DTO or null

use PhHolidayCalendar\PhHolidayCalendar;

class MyService
{
    public function __construct(private PhHolidayCalendar $calendar) {}

    public function getCalendar(): array
    {
        // Inject your custom activities here!
        $myActivities = [];
        return $this->calendar->forMonth(2026, 4, $myActivities);
    }
}

use App\Http\Controllers\Api\CalendarController;

Route::prefix('calendar')->group(function () {
    Route::get('/',           [CalendarController::class, 'index']);      // holidays + activities
    Route::get('/holidays',   [CalendarController::class, 'holidays']);   // holidays only
    Route::get('/check',      [CalendarController::class, 'check']);      // is date a holiday?
});
bash
php artisan vendor:publish --tag=ph-holiday-calendar-config