marvinlabs/laravel-luhn

Luhn算法的Laravel版本

资助包维护!
vpratfr

v1.0.12 2024-04-17 08:30 UTC

This package is auto-updated.

Last update: 2024-09-17 09:23:08 UTC


README

Latest Version on Packagist Software License Total Downloads Build Status

marvinlabs/laravel-luhn 是一个laravel包,提供了各种Laravel工具来使用Luhn算法,例如:

  • 一些验证规则
  • 依赖注入
  • 门面

Luhn算法被广泛用于验证数字的有效性:信用卡号码、SIREN公司代码等。

安装

您可以通过composer安装此包

composer require marvinlabs/laravel-luhn

如果您使用的是Laravel 5.5,服务提供者和门面将自动被发现。

在较早的版本上,您需要手动执行此操作。您必须安装服务提供者

// config/app.php
'providers' => [
    ...
    MarvinLabs\Luhn\LuhnServiceProvider::class
];

并且可以选择为门面注册别名。

// config/app.php
'aliases' => [
    ...
    'Luhn' => MarvinLabs\Luhn\Facades\Luhn::class,
];

使用

算法实现

该包提供了一个实现,该实现符合在 \MarvinLabs\Luhn\Contracts\LuhnAlgorithm 中定义的算法接口。

该合同提供了3个公共方法来

  • 检查输入字符串是否根据Luhn算法有效
  • 计算需要附加到字符串的校验位,使其有效
  • 根据Luhn算法计算校验和

门面

提供了一个门面来访问Luhn算法实现。

Luhn::isValid('1234');
Luhn::computeCheckDigit('1234');
Luhn::computeCheckSum('1234');

依赖注入

您可以使用Laravel容器在任何时候获取Luhn算法的实现。

$luhn = app(\MarvinLabs\Luhn\Contracts\LuhnAlgorithm::class); // Using the interface
$luhn = app('luhn'); // This shortcut works too, up to you ;)

验证

该包提供了自定义规则来验证字符串。

$validator = Validator::make($data, [
    'number1' => 'luhn',         // Using shorthand notation
    'number2' => new LuhnRule(), // Using custom rule class
]);

版本历史

请参阅专门的变更日志

致谢

许可

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