今回は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>
