davispeixoto/dates_for_reports

处理报告中日期的库

dev-master 2019-02-04 18:10 UTC

This package is auto-updated.

Last update: 2024-09-05 07:05:56 UTC


README

这是一个库,包含一些用于报告的日期助手。主要用于获取用于查询和/或显示的日期数组

Latest Stable Version Total Downloads Scrutinizer Code Quality Code Coverage Build Status

安装

此包可以通过在项目的 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 许可证 许可。

版本控制

本项目遵循 语义版本控制

贡献和质量标准与测试

此包力求在目前达到最佳,以确保其质量。我们依靠单元测试、行为测试和静态分析工具。

静态工具

使用多个静态分析工具以确保良好的设计和架构。

  1. PHP Mess Detector
  2. PHPStan
  3. PHP Code Sniffer(我们使用 PSR-2 风格)
  4. PHP Code Sniffer Fixer

前两个提供了一些循环复杂性和命名约定的度量。最后两个确保我们有正确的代码风格(PSR-2)。

我们还可以依靠 PHPStorm/IDE 相关的检查。

BDD

功能目录包含所有 .feature 文件,用 Gherkin 编写。子目录 bootstrap 包含 Behat 类的 BDD 实现。

我们不创建 CRUD 功能,但所有业务规则都应在此处通过示例编写。

单元测试

测试目录包含单元测试,用 phpunit 6+ 编写,并力求遵循规则

  1. 它们被设计来测试所有实体和服务
  2. 简单的 getter 和 setter 可以跳过
  3. 简单的构造函数和析构函数可以跳过
  4. 所有业务规则都应该得到覆盖
  5. 所有公共方法(根据上述规则不能跳过)都应该进行测试
  6. 所有私有方法都应该通过适当的公共方法输入得到覆盖
  7. 强烈建议使用数据提供者将参数传递给测试方法

感谢

所有 PHP 社区