phpsoftbox/barcode

Barcode and QR generation component for the PhpSoftBox framework

Maintainers

Package info

github.com/phpsoftbox/barcode

pkg:composer/phpsoftbox/barcode

Statistics

Installs: 1

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

dev-master 2026-04-10 13:37 UTC

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.