gerardbalaoro / cuttergen
Library of Congress Cutter Number Generation Library
v1.0.0-rc.1
2019-09-07 19:11 UTC
Requires
- php: >=5.6
Requires (Dev)
- phpunit/phpunit: 8.3
This package is auto-updated.
Last update: 2025-04-29 01:01:26 UTC
README
Library of Congress Cutter Number Generation Library.
This package follows the specifications presented on the Classification and Shelflisting Manual Instruction Sheet G63.
See demonstration on PHP Sandbox.
Installation
composer require gerardbalaoro/cuttergen
Basic Usage
/** * Initialize CutterGen instance, pass default expansion length (optional) * - $length = 0 : no expansion * - $length = -1 : expand all characters */ $cutter = new CutterGen\CutterGen(1); /** * Can also set default expansion length using `setLength` */ $cutter->setLength(2); /** * Generate cutter number (Prints: S658) */ echo $cutter->generate('Smith'); /** * Can also pass length (Prints: S65) */ echo $cutter->generate('Smith', 1);
Handling Qa - Qt Initials
For initials Qa-Qt, use numbers 2-29
By default, the package assigns values to a character by its order in the English alpabeth, starting at 2.
To customize, simple pass a callable object to the setHandlder()
method.
$cutter = new CutterGen\CutterGen(); $cutter->setHandler('qa-qt', function($char) { if ($char == 'a') { return '5'; } ... }); // Prints: Q55 echo $cutter->generate('Qaldor')