utrodus/malaysia-public-holiday
最新稳定版本:1.0.2
Composer 安装命令:
composer require utrodus/malaysia-public-holiday
包简介
A PHP library to crawl Malaysia public holidays with filtering and caching.
README 文档
README
Malaysia Public Holiday is a PHP library to fetch official public holiday data for all Malaysian states by scraping Office Holidays.
It’s best for HR applications, attendance systems, logistics planning, calendars, and any system that needs accurate holiday information.
✨ Features
- 📆 Get national and regional holidays in Malaysia
- 🌍 Support for all Malaysian states and federal territories
- 📅 Filter holidays by year, month, or state
- 🔁 Supports alias names for states (e.g.,
KL,Johore,Malacca) - ⚙️ Easily integrable with any PHP project
💼 Use Cases
- Employee attendance and HR systems
- Delivery scheduling & logistics
- Custom calendar generation
- Event planning & automation
- Working-day calculations
🚀 Requirements
- PHP >= 8.1
- Composer
🛠️ Tech Stack
| Tool | Purpose |
|---|---|
| PHP >= 8.1 | Core programming language |
| Guzzle | HTTP requests |
| Symfony BrowserKit | Web scraping (HTML crawling) |
| PHPUnit | Unit testing |
| GitHub Actions | Continuous integration |
📦 Installation
composer require utrodus/malaysia-public-holiday
⚡ Usage
<?php use MalaysiaHoliday\MalaysiaHoliday; $holiday = new MalaysiaHoliday(); // Get holidays for all states in the current year $result = $holiday->fromAllState()->get(); header('Content-Type: application/json'); echo json_encode($result, JSON_PRETTY_PRINT) . PHP_EOL; /** * Get formatted holiday data * with formatHolidayData method you can easier read and access * */ echo "------------------------------------------------" . PHP_EOL; echo "Formatted Holiday Data:" . PHP_EOL; $formatted = $holiday->formatHolidayData($result); echo $formatted . PHP_EOL;
I have included code examples to try this library in each file within the examples folder. Please see below:
| Use Case | Example File | Description |
|---|---|---|
| Get holidays for a specific state | examples/get_holidays_for_specific_state.php |
Retrieves holidays for a particular state in the current year. |
| Get holidays for a specific state and year | examples/get_holidays_for_specific_state_and_year.php |
Fetches holidays for a state in a specific year. |
| Get holidays for all states | examples/get_holidays_for_all_states.php |
Retrieves holidays for all Malaysian states in the current year. |
| Get holidays for all states and a specific year | examples/get_holidays_for_all_states_and_year.php |
Fetches holidays for all states in a given year. |
| Filter holidays by month | examples/get_holidays_for_state_filtered_by_month.php |
Filters holidays for a state in a specific month. |
| Group holidays by month | examples/get_holidays_for_state_grouped_by_month.php |
Groups holidays for a state by month. |
| Handling invalid regions | examples/handling_invalid_region.php |
Demonstrates how the library handles invalid region inputs. |
| Using alternative region names | examples/using_alternative_region_name.php |
Shows support for alias state names. |
🧪 Running Tests
vendor/bin/phpunit tests
📬 Contributing
Pull requests and suggestions are welcome! If you find bugs or have a feature request, feel free to open an issue.
📄 License
This project is open-source and available under the MIT License.
统计信息
- 总下载量: 17
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-04-19