phpsoftbox / barcode
Barcode and QR generation component for the PhpSoftBox framework
dev-master
2026-04-10 13:37 UTC
Requires
- php: ^8.4
- ext-gd: *
- endroid/qr-code: ^6.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.93
- phpsoftbox/cli-app: dev-master
- phpsoftbox/cs-fixer: ^1.1.0
- phpunit/phpunit: ^11.2
This package is auto-updated.
Last update: 2026-04-10 14:03:53 UTC
README
Компонент генерации штрихкодов и QR-кодов для PhpSoftBox.
Что поддерживается
- EAN-13 (встроенный SVG-генератор);
- QR (адаптер на
endroid/qr-code, форматы SVG/PNG); - роутинг генерации через цепочку
BarcodeGeneratorChain.
Базовое использование
use PhpSoftBox\Barcode\BarcodeGeneratorChain; use PhpSoftBox\Barcode\BarcodeOptions; use PhpSoftBox\Barcode\BarcodeOutputFormat; use PhpSoftBox\Barcode\BarcodeType; use PhpSoftBox\Barcode\Generator\Ean13SvgGenerator; use PhpSoftBox\Barcode\Generator\EndroidQrGenerator; $generator = new BarcodeGeneratorChain([ new Ean13SvgGenerator(), new EndroidQrGenerator(), ]); $ean = $generator->generate( data: '460123456789', type: BarcodeType::Ean13, options: new BarcodeOptions(format: BarcodeOutputFormat::Svg), ); $qr = $generator->generate( data: 'P1-R1-C1', type: BarcodeType::Qr, options: new BarcodeOptions(format: BarcodeOutputFormat::Svg, height: 256), );
EAN-13
Ean13::normalize():
- принимает 12 цифр и автоматически рассчитывает контрольную цифру;
- принимает 13 цифр и проверяет корректность контрольной цифры;
- бросает исключение при некорректном формате/чексумме.
Тестовые артефакты
- перед запуском PHPUnit папка
local/tests/barcodeочищается автоматически; - генерационные тесты сохраняют SVG-артефакты в
local/tests/barcode; - при необходимости сохранение артефактов можно отключить:
BARCODE_TEST_SAVE_ARTIFACTS=0 vendor/bin/phpunit.