joaorbrandao/laravel-intervals

该包为您项目添加时间间隔提供了一种简单的方式。

v2.0.1 2020-10-04 23:34 UTC

This package is auto-updated.

Last update: 2024-09-05 08:23:29 UTC


README

该包为您项目添加时间间隔提供了一种简单的方式。

Latest Stable Version Total Downloads License

安装

composer require joaorbrandao/laravel-intervals

将包发布到您的应用程序中。

php artisan vendor:publish --provider=Joaorbrandao\LaravelIntervals\LaravelIntervalsServiceProvider

包含一些过滤器的文件夹将被发布到 "app/LaravelIntervals" 中。
如果您想,可以随意修改/删除它们!

使用方法

创建一个新的间隔

此命令将在 "app/LaravelIntervals" 中创建一个新的间隔。

php artisan make:interval FirstDayOfLastWeek

设置间隔

每个时间间隔有5个属性:开始、结束、启用、id和名称。

运行创建间隔的命令后,您必须更改开始和结束时间以匹配间隔名称。

<?php

namespace App\LaravelIntervals;


use Joaorbrandao\LaravelIntervals\Contracts\Interval;

final class FirstDayOfLastWeek implements Interval
{
    public function resolve()
    {
        return [
            'start' => now()->subWeek()->startOfWeek()->startOfday(),
            'end' => now()->subWeek()->startOfWeek()->endOfDay(),
            'enabled' => true,
            'id' => 'firstDayOfLastWeek',
            'name' => 'first_day_of_last_week',
        ];
    }
}

充分利用它!

使用方法之一是通过外观。外观的结果是配置文件中定义的设置的起始和结束属性,它们是Carbon实例。

LaravelIntervals::last365Days();

// Return
Joaorbrandao\LaravelIntervals\Interval^ {#382
    +end: Illuminate\Support\Carbon @1571693543^ {#767
        date: 2019-10-21 21:32:23.050513 UTC (+00:00)
    }
    +id: "last365Days"
    +name: "last_65_days"
    +start: Illuminate\Support\Carbon @1540157543^ {#768
        date: 2018-10-21 21:32:23.050440 UTC (+00:00)
    } 
}

许可证

laravel-intervals 是一个开源的 laravel 包,受 MIT 许可证的许可。