davispeixoto / dates_for_reports
处理报告中日期的库
dev-master
2019-02-04 18:10 UTC
Requires
- php: >=7.1
- myclabs/php-enum: 1.*
Requires (Dev)
- behat/behat: ~3.0
- friendsofphp/php-cs-fixer: ^2.11
- phpmd/phpmd: ^2.6
- phpstan/phpstan: ~0.8
- phpunit/phpunit: ~6.2
- roave/security-advisories: dev-master
- squizlabs/php_codesniffer: ^2.3
This package is auto-updated.
Last update: 2024-09-05 07:05:56 UTC
README
这是一个库,包含一些用于报告的日期助手。主要用于获取用于查询和/或显示的日期数组
安装
此包可以通过在项目的 composer.json
中要求 davispeixoto/dates_for_reports
包通过 Composer 安装。
{ "require": { "davispeixoto/dates_for_reports": "~1.0" } }
或者
$ php composer.phar require davispeixoto/dates_for_reports
在终端运行 composer update
php composer.phar update
用法
以下是一个常见的用法示例。
<?php use DavisPeixoto\ReportDates\Dates; $date_helper = new Dates(); $weeks = $date_helper->getWeeksBreak($from, $to); foreach ($weeks as $week) { $businessDaysAmount = $week->getBusinessDays(); // do something with dates here }
有关用法和用例的更多信息,请参阅 使用说明。
许可证
此软件根据 MIT 许可证 许可。
版本控制
本项目遵循 语义版本控制。
贡献和质量标准与测试
此包力求在目前达到最佳,以确保其质量。我们依靠单元测试、行为测试和静态分析工具。
静态工具
使用多个静态分析工具以确保良好的设计和架构。
- PHP Mess Detector
- PHPStan
- PHP Code Sniffer(我们使用 PSR-2 风格)
- PHP Code Sniffer Fixer
前两个提供了一些循环复杂性和命名约定的度量。最后两个确保我们有正确的代码风格(PSR-2)。
我们还可以依靠 PHPStorm/IDE 相关的检查。
BDD
功能目录包含所有 .feature 文件,用 Gherkin 编写。子目录 bootstrap 包含 Behat 类的 BDD 实现。
我们不创建 CRUD 功能,但所有业务规则都应在此处通过示例编写。
单元测试
测试目录包含单元测试,用 phpunit 6+ 编写,并力求遵循规则
- 它们被设计来测试所有实体和服务
- 简单的 getter 和 setter 可以跳过
- 简单的构造函数和析构函数可以跳过
- 所有业务规则都应该得到覆盖
- 所有公共方法(根据上述规则不能跳过)都应该进行测试
- 所有私有方法都应该通过适当的公共方法输入得到覆盖
- 强烈建议使用数据提供者将参数传递给测试方法
感谢
所有 PHP 社区