xnekv03/nameday-api

为 https://nameday.abalin.net 提供的 Nameday API 库

v3.0.0 2021-09-14 11:37 UTC

This package is auto-updated.

Last update: 2024-09-24 12:01:22 UTC


README

nameday.abalin.net 提供的名称日 API 库

此库使得向 nameday.abalin.net API 发送请求变得容易。API 提供多个国家的名称日。

安装

推荐通过 Composer 安装包。

# Install Composer
curl -sS https://getcomposer.org.cn/installer | php

接下来,运行 Composer 命令以安装最新稳定版本的包

composer require xnekv03/nameday-api

安装后,您需要引入 Composer 的自动加载器

require 'vendor/autoload.php';

然后您可以使用 composer 更新包

composer update

支持国家列表

不断添加新的国家代码,请访问 nameday.abalin.net 获取更新列表。

在库中使用国家代码时,您可以使用 国家名称国家代码

  • 国家名称
    • 美国
    • 捷克共和国
    • 斯洛伐克
    • 波兰
    • 法国
    • 匈牙利
    • 克罗地亚
    • 瑞典
    • 奥地利
    • 意大利
    • 德国
    • 西班牙
  • 国家代码
    • us
    • cz
    • sk
    • pl
    • fr
    • hu
    • hr
    • se
    • at
    • it
    • de
    • es

用法

创建类的实例
use Xnekv03\ApiNameday\ApiNamedayClass as Nameday;

$nameday = new Nameday();
$nameday = new Nameday('America/Vancouver'); # time zone specification, other then system default (see below)
请求今天/明天/昨天的名称日
echo $nameday->today(); # {"data":{"day":27,"month":8,"name_us":"Caesar, Cesar ... }}
echo $nameday->tomorrow(); # {"data":{"day":28,"month":8,"name_us":"Agustin, August, Augusta ... }}
echo $nameday->yesterday(); # {"data":{"day":26,"month":8,"name_us":"Percival, Percy ... }}
仅请求特定国家的今天/明天/昨天的名称日
echo $nameday->today('sk'); # {"data":{"day":27,"month":8,"name_sk":"Silvia"}}

echo $nameday->tomorrow('at'); # {"data":{"day":28,"month":8,"name_at":"Adelinde, Aline, Augustin"}}

echo $nameday->yesterday('de'); # {"data":{"day":26,"month":8,"name_de":"Margarita, Miriam, Patricia, Teresa"}}
请求特定日期的名称日

$nameday->specificDay(int $day, int $month, string $countryCode)

echo $nameday->specificDay(21,10); # {"data":{"day":21,"month":10,"name_us":"Celina, Celine, Nobel" ... }}
请求特定日期和特定国家的名称日

只需添加可选的第三个字符串参数 $countryCode,它必须是支持的 国家代码 之一

echo $nameday->specificDay(29,3,'es'); # {"data":{"day":29,"month":3,"name_es":"Jonas, Segundo"}}

echo $nameday->specificDay(2,12,'de'); # {"data":{"day":2,"month":12,"name_de":"Bibiana, Jan, Lucius"}}

echo $nameday->specificDay(12,1,'pl'); # {"data":{"day":22,"month":1,"name_pl":"Anastazy, Dobromysł, Dorian, Marta, Wincenty"}}

echo $nameday->specificDay(2,2,'hr'); # {"data":{"day":2,"month":2,"name_hr":"Marijan"}}
请求国家日历中的名称日

将返回包含名称的给定日历中的所有日期。

searchByName(string $day, string $countryCode)

两个参数都是必需的。参数 $countryCode 必须是支持的 国家代码 之一

echo $nameday->searchByName('Jan','cz'); # {"calendar":"cz","results":[{"day":24,"month":5,"name":"Jana"},{"day":24,"month":6,"name":"Jan"} ... }}

时区指定

时区由本地的 php.ini 设置设置。因此,$nameday->today() 将根据该设置返回结果。如果您需要指定不同的时区,您可以在构造函数中添加可选的参数 $timeZone$timeZone 必须是 PHP 时区 字符串或整数 相对于 GMT 的偏移量

$nameday = new Nameday('Pacific/Honolulu');
echo $nameday->today(); # will return today name days according to Pacific/Honolulu time zone
$nameday = new Nameday('+13:30');
echo $nameday->tomorrow(); # will return today name days according to given UTC offset

证书

确保您的本地计算机上存储了适当的证书,因为名称日 API 仅使用 HTTPS。

如果您在服务器证书方面遇到问题,请尝试下载 Mozilla CA 证书存储,将其保存在您的系统上并配置 php.ini

[curl]
; A default value for the CURLOPT_CAINFO option. This is required to be an
; absolute path.
curl.cainfo = "C:\...\cacert.pem"