Qrcode Library

Documentation Status Packagist Version Build Status Latest Stable Version Total Downloads Scrutinizer Code Quality

The library provides developers with the tools to generate Qr codes with ease. It is a total refactored version of the previous named yii2-qrcode-helper which was based on the ported PHP version of the libqrencode C library.

This new version is highly inspired by the great work of BaconQrCode, in fact, it uses a modified version of its code for the writers included on this package.

Getting Started

Supported PHP Versions

Tag PHP Version
^ 3.0.2 7.3 - 8.0
3.1.0 7.4 - 8.1

Server Requirements

  • PHP >= 7.4
  • Imagick
  • GD
  • FreeType

The preferred way to install this extension is through composer.

Either run

php composer.phar require 2amigos/qrcode-library:^3.1.0

or add

{
  ...
  "2amigos/qrcode-library": "^3.1.0"
}

Usage

The use of the library is quite easy when working as standalone. For example:

<?php 

use Da\QrCode\QrCode;

$qrCode = (new QrCode('This is my text'))
    ->setSize(250)
    ->setMargin(5)
    ->setBackgroundColor(51, 153, 255);

// now we can display the qrcode in many ways
// saving the result to a file:

$qrCode->writeFile(__DIR__ . '/code.png'); // writer defaults to PNG when none is specified

// display directly to the browser 
header('Content-Type: '.$qrCode->getContentType());
echo $qrCode->writeString();

?> 

<?php 
// or even as data:uri url
echo '<img src="' . $qrCode->writeDataUri() . '">';
?>

You can set the foreground color, defining RGBA values, where the alpha is optional.

$qrCode = (new QrCode('This is my text'))
    ->setForeground(0, 0, 0);

// or, setting alpha as well
$qrCode = (new QrCode('This is my text'))
    ->setForeground(0, 0, 0, 50);

Formats

In order to ease the task to write different formats into a QrCode, the library comes with a set of classes. These are:

Laravel

This library bundles a blade component and a file route to easily work with the Laravel framework.

Yii2

This library comes also with two special classes to specifically work with the Yii2 framework. These are:

Helpful Guides

Contributing

© 2amigos 2013-2023