sertxudeveloper/laravel-counters

v1.1.1 2024-05-06 17:58 UTC

README

Counters

Laravel Counters

Codecov Test coverage

管理您的 Laravel 应用程序中的计数器。

此包允许您在 Laravel 应用程序中管理计数器。您可以根据需要创建计数器并增加或减少它。您还可以创建按系列或年份的计数器,以便为不同的系列或年份拥有不同的计数器。

要求

此包需要 Laravel 10.0 或更高版本。

安装

您可以通过 composer 安装此包

composer require sertxudeveloper/laravel-counters

用法

此包提供了一个配置文件,要发布它,您应该运行以下命令

php artisan vendor:publish --tag=counters-config

在此配置文件中,您将能够配置包应用于其迁移和模型的数据库连接。默认情况下,将使用在您的 Laravel 项目中定义的默认数据库连接。

接下来,您应该运行迁移

php artisan migrate

就这样!您已经准备好使用此包了。

以下是如何使用此包的示例

使用基本计数器

use SertxuDeveloper\Counters\Counter;

$counter = Counter::make('INVOICES');

$invoice->number = $counter->next(); // 1

使用具有系列的计数器

use SertxuDeveloper\Counters\Counter;

$counter = Counter::make('INVOICES', series: 'N');

$invoice->number = $counter->next(); // 1
$invoice->number = $counter->next(); // 2

$counter = Counter::make('INVOICES', series: 'R');

$invoice->number = $counter->next(); // 1

使用具有年份的计数器

use SertxuDeveloper\Counters\Counter;

$counter = Counter::make('INVOICES', year: '2023');

$invoice->number = $counter->next(); // 1
$invoice->number = $counter->next(); // 2

$counter = Counter::make('INVOICES', year: '2024');

$invoice->number = $counter->next(); // 1

使用具有年份和系列的计数器

use SertxuDeveloper\Counters\Counter;

$counter = Counter::make('INVOICES', year: '2023', series: 'N');

$invoice->number = $counter->next(); // 1
$invoice->number = $counter->next(); // 2

$counter = Counter::make('INVOICES', year: '2023', series: 'R');

$invoice->number = $counter->next(); // 1

$counter = Counter::make('INVOICES', year: '2024', series: 'N');

$invoice->number = $counter->next(); // 1

减少计数器的值

use SertxuDeveloper\Counters\Counter;

$counter = Counter::make('INVOICES');

$invoice->number = $counter->next(); // 1
$invoice->number = $counter->next(); // 2

$invoice->number = $counter->decrement(); // 1

自定义增加

use SertxuDeveloper\Counters\Counter;

$counter = Counter::make('INVOICES');

$invoice->number = $counter->next(); // 1
$invoice->number = $counter->increment(5); // 6

自定义减少

use SertxuDeveloper\Counters\Counter;

$counter = Counter::make('INVOICES');

$invoice->number = $counter->next(); // 1
$invoice->number = $counter->increment(5); // 6

$invoice->number = $counter->decrement(3); // 3

测试

此包包含测试,您可以使用以下命令运行它们

composer test

贡献

有关详细信息,请参阅 CONTRIBUTING

安全漏洞

请查看 我们的安全策略 以了解如何报告安全漏洞。

鸣谢

许可

MIT 许可证(MIT)。有关更多信息,请参阅 许可文件



版权所有 © 2024 Sertxu Developer