san103/php-holiday-api

v1.3.9 2024-04-04 00:33 UTC

This package is auto-updated.

Last update: 2024-09-15 11:16:25 UTC


README

基于 Google Calendar API 的Php/Laravel动态假日包

composer require san103/php-holiday-api

先决条件

  • PHP 8.0 或更高版本
  • Composer
  • Guzzlehttp/guzzle"

安装

composer install
composer require guzzlehttp/guzzle:^7.0

基本用法

定义包

namespace App/YourApp

use San103\Phpholidayapi\HolidayClient;
$holiday = new HolidayClient();
  • (可选) 设置您的国家代码,例如uk代表联合王国,us代表美国 默认设置为菲律宾
countryCode('uk')
  • (可选) 设置您想显示假日日期的年份,默认设置为当前年份2023
year('2022')

重要

在最后链中必须定义 result()

result(); 
  • PHP中的示例用法
require 'vendor/autoload.php';
use San103\Phpholidayapi\HolidayClient;

public function index(){

        $api = new HolidayClient();
        return $api
                    ->countryCode('uk') 
                    ->year('2023') 
                    ->result();
      
    }
  • Laravel 10中的示例用法
use San103\Phpholidayapi\HolidayClientLaravel;

public function index(){

        $api = new HolidayClientLaravel();
        return $api
                    ->countryCode('uk') 
                    ->year('2023') 
                    ->result();
      
    }

Laravel 10的特殊功能

  • 安装缓存
  • 使用HolidayClientLaravel源
 return Cache::remember(date('Y'), now()->addMonth(), function () use ($http) {

now()->addMonth()更改为设置缓存的过期时间

注意

您还可以从Google API 提供您自己的API密钥。只需启用日历API并生成密钥

apiKey('your-api-key')

输出

"
{
    "21":{
        "id":"20230101_i536",
        "title":"New Year\'s Day",
        "description":"Public holiday",
        "date":{"date":"2023-01-01"}},

    "23":{
        "id":"20230225_qh5n",
        "title":"People Power Anniversary",
        "description":"Public holiday",
        "date":{"date":"2023-02-25"}},

    "24":{
        "id":"20230406_hvi",
        "title":"Maundy Thursday",
        "description":"Public holiday",
        "date":{"date":"2023-04-06"}},

    "25":{
        "id":"20230407_fv",
        "title":"Good Friday",
        "description":"Public holiday",
        "date":{"date":"2023-04-07"}},

    "26":{
        "id":"20230408_6v",
        "title":"Black Saturday",
        "description":"Public holiday",
        "date":{"date":"2023-04-08"}},

    "28":{
        "id":"20230501_on",
        "title":"Labor Day",
        "description":"Public holiday",
        "date":{"date":"2023-05-01"}},

    "29":{
        "id":"20230612_kq",
        "title":"Independence Day",
        "description":"Public holiday",
        "date":{"date":"2023-06-12"}},

    "30":{
        "id":"20230821_p0c",
        "title":"Ninoy Aquino Day",
        "description":"Public holiday",
        "date":{"date":"2023-08-21"}},
    ...
"

重要

如果您觉得这个包有用,请给我们一个星标!谢谢并愿上帝保佑

许可

该软件包是开源软件,根据MIT许可授权。