tyanhly / vcode_qrcode by tyanhly

This is package generate Qrcode using some services like google qrcode. This package also support attaching logo into qrcode. In Laravel framework, it fully support for using facade, blade helper.
425
4
3
Package Data
Maintainer Username: tyanhly
Maintainer Contact: tyanhly@gmail.com (Tung Ly)
Package Create Date: 2015-05-09
Package Last Update: 2017-07-11
Language: PHP
License: MIT
Last Refreshed: 2024-11-26 15:15:06
Package Statistics
Total Downloads: 425
Monthly Downloads: 1
Daily Downloads: 0
Total Stars: 4
Total Watchers: 3
Total Forks: 3
Total Open Issues: 1

PHP Qrcode Library (support laravel framework)


Introduction

This is package generate Qrcode using some services like google qrcode (currently, it only support google service). This package also support attaching logo into qrcode. In Laravel framework, it fully support for using facade, blade helper.

Reference https://developers.google.com/chart/infographics/docs/qr_code

Installation

  • This is require: php5-gd for write image.
      Debian: apt-get install php5-gd

      RedHat: yum install gd gd-devel php-gd
  • Update require in composer.json file.
      "vcode/qrcode": "dev-master"
  • You'll then need to run
      composer update
  • Or
      composer require "vcode/qrcode":"dev-master"

LARAVEL USING

File: app/config/app.php

Provider:


    'providers' => array(
        'Vcode\Qrcode\QrcodeServiceProvider',
    )

Facade


    'aliases' => array(
        'Qrcode' => 'Vcode\Qrcode\Facades\Qrcode',
    )
    

Create configuration file using artisan

$ php artisan config:publish vcode/qrcode

Using In Controller


    $value = "https://github.com/tyanhly/vcode_qrcode";

    //or for fully options
    //$value = array(
    //    'chs' => "250x250",
    //    'cht' => "qr",
    //    'chl' => "https://github.com/tyanhly/vcode_qrcode"
    //    'chld'=> "H|1",         // H(QML)|1, H|2, H|3, H|4, H|10, H|40,
    //    'choe'=> "UTF-8"        // UTF-8, Shift_JIS, ISO-8859-1
    //);
    
    /**
     * @param array googleOption
     * @param string $destinate
     * @param string $logoPath
     * @param float $ratioOfLogoOnQrcode
     * @param int $qrCodeService
     */
    //Qrcode::storageImage(array googleOption, string $destinate, string $logoPath, float $ratioOfLogoOnQrcode, int $qrCodeService);
    Qrcode::storageImage($value, "/tmp/destination.png", "logo.png", 0.3);
    
    
    /**
     * @param array googleOption
     * @param int $qrCodeService
     */
    //Qrcode::render(array googleOption, int $qrCodeService);
    Qrcode::render($value);
    
    /**
     * @param array googleOption
     * @param string $logoPath
     * @param float $ratioOfLogoOnQrcode
     * @param int $qrCodeService
     */
    //Qrcode::renderBase64(array googleOption, string $logoPath, float $ratioOfLogoOnQrcode, int $qrCodeService);
    Qrcode::renderBase64($value, "logo.png");
    
    
    /**
     * @param array googleOption
     * @param string $logoPath
     * @param float $ratioOfLogoOnQrcode
     * @param int $qrCodeService
     */
    //Qrcode::renderBase64Dome(array googleOption, string $logoPath, float $ratioOfLogoOnQrcode, int $qrCodeService);
    Qrcode::renderBase64Dom($value, "logo.png");

Using the Blade helper


@qrcode("https://github.com/tyanhly/vcode_qrcode")
@qrcodeBase64Dom("https://github.com/tyanhly/vcode_qrcode", "logo.png", 0.5)
<img src="data:image/png;base64,@qrcodeBase64("https://github.com/tyanhly/vcode_qrcode", "logo.png", 0.5)" />

Using like php library


    //Please, reference <this source>/example for more detail
    
    include 'vendor/autoload.php';
    $qrcode = new Vcode\Qrcode\Qrcode(array(
            'qrcode::google_config_default' => array(
                'chs' => "250x250",
                'cht' => "qr",
                'chld'=> "H|1",         // H(QML)|1, H|2, H|3, H|4, H|10, H|40,
                'choe'=> "UTF-8"        // UTF-8, Shift_JIS, ISO-8859-1
            ),
            'qrcode::template_simple' => './template',
            'qrcode::storage_dir'     => '/tmp'
        ));
    $value = "MECARD:N:XXXXX;ADR:xxx xxxxx xxxxxx xx xxx city;"
           . "TEL:+XXXXXXXXX;EMAIL:xxxxx@gmail.com;;";
    //$qrcode->render($value);
    $qrcode->renderBase64Dom($value, "logo.png", 0.7);
    

Example

  • https://github.com/tyanhly/vcode_qrcode/tree/master/example

Change Log

v1.0.0

  • First release

v1.0.1

  • Base64 encoding
  • Storage image

v1.1.0

  • Logo attach
  • Support like a library, not only for laravel.