koen / opening-hours-library
此包最新版本(0.0.1)没有提供许可信息。
提供在您的网站上实现营业时间的逻辑
0.0.1
2020-12-19 15:05 UTC
Requires (Dev)
- phpunit/phpunit: ^9
This package is auto-updated.
Last update: 2024-09-19 23:05:37 UTC
README
OpeningHours库用于在您的项目中实现营业时间逻辑和验证。
需求
- phpunit/phpunit:^9
安装
使用Composer
composer require koen/opening-hours-library
用法
初始化营业时间
$openingHours = new OpeningHours(); $openingHours->setOpeningTime($openAt); $openingHours->setClosingTime($closedAt);
带有休息时间的初始化营业时间
OpeningHoursWithBreaks
类增加了将休息时间包含到营业时间的功能。可以添加零个、一个或多个休息时间。
$pause = new Pause($pauseStart, $pauseEnd); $openingHours = new OpeningHoursWithBreaks(); $openingHours->setOpeningTime($openAt); $openingHours->setClosingTime($closedAt); $openingHours->addPause($pause, $pause, ...);
验证
验证类将验证输入日期的正确性。
- 开门时间不能在关门时间之后,反之亦然。
- 休息时间不能重叠。
- 休息时间不能在开门之前或关门之后。
使用依赖注入向您的类注入。
class Controller { private $validator; public function __construct( ValidateOpeningHoursInterface $validator ) { $this->validator = $validator; } public function yourControllerLogic() { $openingHours = new OpeningHours(); ... $this->validator->validate($openingHours); } }
直接实例化验证类。
$openingHours = new OpeningHoursWithBreaks(); $validator = new ValidateOpeningHours(); $validator->validate($openingHours); $validator = new PauseValidator(); $validator->validate($openingHours);
贡献
欢迎提交拉取请求。该项目是为学术目的而构建的。对于重大更改,请提供您更改的信息以及更改的原因,以便讨论您的更改。