joaosalless / holidays-br
Joaosalless/Holidays-BR 提供了一个简单的类,用于获取指定国家、州和城市的假日
Requires
- php: >=7.0
- ext-calendar: *
Requires (Dev)
- phpunit/phpunit: ~5.0
This package is auto-updated.
Last update: 2024-09-05 16:39:43 UTC
README
[已弃用]
这个库将不再维护。请使用我的另一个库 [https://github.com/joaosalless/dates],它包含国家级、州级和市级假日,还支持纪念日和自动计算工作日和营业时间。
Joaosalless/Holiday 是一个 PHP 库,用于检查特定日期是否存在假日。该库包含所有国家级假日,包括可变日期的假日。
该库是模块化的。在可能的情况下,将包括州级和市级假日。
该库是基于项目 https://github.com/checkdomain/Holiday 开发的,并进行了修改以支持市级假日。
要求
Joaosalless/Holidays-BR 需要 php >= 7.0。
安装
composer require joaosalless/holidays-br
使用
要检查特定日期是否存在假日,只需实例化 Util 类并调用 getHoliday() 方法。
$util = new \Joaosalless\Holiday\Util(); // Feriado nacional $holiday = $util->getHoliday('BR', '01.01.2017'); // Feriado estadual $holiday = $util->getHoliday('BR', '09.07.2017', 'SP'); // Feriado municipal $holiday = $util->getHoliday('BR', '25.01.2017', 'SP', '3550308');
如果您只需要知道您的日期是否存在假日,还有一个 isHoliday() 方法。
$util = new \Joaosalless\Holiday\Util(); $holiday = $util->isHoliday('BR', '01.01.2018');
如果您需要知道特定国家、州或市的所有假日,可以实例化其中一个提供程序并调用 getHolidaysByYear() 方法。
示例
$util = new \Joaosalless\Holiday\Util(); // Lista todos os feriados nacionais, estaduais e municipais (São Paulo - SP) $provider = $util->getProvider('BR', 'SP', '3550308'); $holidays = $provider->getHolidaysByYear(2018); // Retorna o array de feriados: [ "01-01" => [ "name" => "Dia Mundial da Paz", "states" => null, "cities" => null, ], "04-21" => [ "name" => "Tiradentes", "states" => null, "cities" => null, ], "05-01" => [ "name" => "Dia do Trabalhador", "states" => null, "cities" => null, ], "09-07" => [ "name" => "Independência do Brasil", "states" => null, "cities" => null, ], "10-12" => [ "name" => "Nossa Senhora Aparecida", "states" => null, "cities" => null, ], "11-02" => [ "name" => "Finados", "states" => null, "cities" => null, ], "11-15" => [ "name" => "Proclamação da República", "states" => null, "cities" => null, ], "12-25" => [ "name" => "Natal", "states" => null, "cities" => null, ], "02-11" => [ "name" => "Domingo de Carnaval", "states" => null, "cities" => null, ], "02-13" => [ "name" => "Terça-feira de Carnaval", "states" => null, "cities" => null, ], "02-14" => [ "name" => "Quarta-feira de Cinzas", "states" => null, "cities" => null, ], "03-30" => [ "name" => "Paixão de Cristo", "states" => null, "cities" => null, ], "03-31" => [ "name" => "Sábado de Aleluia", "states" => null, "cities" => null, ], "04-01" => [ "name" => "Domingo de Páscoa", "states" => null, "cities" => null, ], "05-31" => [ "name" => "Corpus Christi", "states" => null, "cities" => null, ], "07-09" => [ "name" => "Revolução Constitucionalista de 1932", "states" => [ "SP", ], "cities" => null, ], "01-25" => [ "name" => "Aniversário de São Paulo", "states" => null, "cities" => [ "3550308", ], ], "11-20" => [ "name" => "Consciência Negra", "states" => null, "cities" => [ "3550308", ], ], ]
贡献
如果您需要使用尚未在此列出的市的特定假日,请创建一个 issue,说明该市的所有假日以及相应州的假日。我将尽可能包括所要求的假日。
但是,如果您理解了使用的逻辑并希望直接在代码中贡献力量,请发送您的 pull request。不要忘记为每个创建的提供程序创建单元测试。
运行测试
在基本目录中运行 php composer.phar install
命令以安装 phpunit
依赖项。之后,您可以直接调用 vendor/bin/phpunit tests/
来运行测试套件。