nextgen-tech/laravel-sequence 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

nextgen-tech/laravel-sequence

Composer 安装命令:

composer require nextgen-tech/laravel-sequence

包简介

README 文档

README

Generate sequential numbers with pattern (e.g. for invoice numbers)

Features

  • Easy integration
  • Multiple pattern placeholders
  • Support for three most common reset frequencies
  • Automatically creating new ordinal number based on reset frequency

Installation

composer require nextgen-tech/laravel-sequence

Usage

use Carbon\Carbon;
use NGT\Laravel\Sequence\Enums\ResetFrequency;
use NGT\Laravel\Sequence\Models\SequenceRule;
use NGT\Laravel\Sequence\SequenceFactory;

/**
 * Create new sequence rule. It needs to be done only once.
 */
SequenceRule::create([
    'type'            => 'invoice',
    'pattern'         => '{number}/COMPANY/{year}',
    'reset_frequency' => ResetFrequency::YEARLY,
]);

/**
 * Make sequence factory via container or DI.
 */
$factory = app(SequenceFactory::class);

/**
 * Create sequence by passing sequence type and date (e.g. issue date of invoice).
 */
$sequence = $factory->create(
    'invoice',
    Carbon::createFromFormat('Y-m-d', '2021-06-01')
);

/**
 * Public methods of sequence.
 */
$ordinal = $sequence->getOrdinalNumber(); // e.g. 21
$number  = $sequence->getNumber();        // e.g. 21/COMPANY/2021
$pattern = $sequence->getPattern();       // e.g. {number}/COMPANY/{year}

/**
 * After use of generated number, manual increment of ordinal number is required.
 */
$sequence->increment();

Reset Frequencies

Sequences supports three most commonly used reset frequencies. \NGT\Laravel\Sequence\Enums\ResetFrequency class should be used when creating new sequence rule.

  • ResetFrequency::YEARLY - resets ordinal number at the beginning of new year
  • ResetFrequency::MONTHLY - resets ordinal number at the beginning of new month
  • ResetFrequency::DAILY - resets ordinal number at the beginning of new day

Pattern Placeholders

Placeholder Description Example
{number} generated, ordinal number
{day} day of passed date with leading zero 05
{month} month of passed date with leading zero 03
{year} full year of passed date 2021
{day_short} day of passed date without leading zero 5
{month_short} month of passed date without leading zero 3
{year_short} short year of passed date 21

统计信息

  • 总下载量: 46
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 3
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 3
  • Watchers: 1
  • Forks: 7
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2021-06-17

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固