PHPのライブラリ「qr-code」でQRコード生成を実装した【CakePHP】


今回はCakePHPでPHPのライブラリ「qr-code」を活用して、QRコード生成を実装しました。「qr-code」はPHPのライブラリなので、CakePHPでなくても実装できます。

Composerでqr-codeをインストール

ターミナルでqr-codeをインストールします。

$ composer require endroid/qr-code

問題なくインストールできるとvendorディレクトリ直下にchillerlanディレクトリがダウンロードされます。

QRコード生成

今回は、ビューのヘルパーを使って生成する関数を定義しました。関数はコントローラでもモデルで定義しても問題ありません。

src/View/Helper/CommonHelper.php
public function qrcode($url)
{
    return (new \chillerlan\QRCode\QRCode())->render($url);
}

ビューでQRコードを表示

ビューで先ほど定義した関数を呼び出し、任意のURLを引数に渡します。そして、CSSを調整してあげればうまく表示されるはずです。

index.ctp
<div style="background:url(<?= $this->Common->qrcode('https://www.google.com/') ?>); height:80px; width:80px; background-size:cover;"></div>

参考

5分で出来る!PHPでQRコードを生成する方法