最短手順は「インストール →(自動登録)→ Bladeやコントローラで QrCode ファサードを呼ぶ」です。SVG表示は即使え、PNG出力は GD/Imagick が必要です。[1][2][3]
インストール
- 実行: composer require simplesoftwareio/simple-qrcode(v4系が推奨)。[2][3]
- Laravelの自動パッケージ発見でプロバイダ/エイリアス登録は不要(古い記事の手動追記は基本不要)。[3]
もっとも簡単な表示(SVG)
- Bladeにそのまま埋め込み
・{!! QrCode::generate('https://example.com') !!}(デフォルトはサイズ100のSVG)。[4][3]
- サイズ指定
・{!! QrCode::size(300)->generate($url) !!}。[3]
PNGで
表示したい場合
- PNGをBase64データURIにしてimgで表示
・
- 注意: PNG生成には GD もしくは Imagick が必要(Dockerなら gd/imagickの導入が必要)。[2]
・例: pecl install imagick、docker-php-ext-install gd などで有効化。[2]
コントローラで使う例
- コントローラ
・use SimpleSoftwareIO\QrCode\Facades\QrCode; を宣言し、$svg = QrCode::size(200)->generate($url); をビューへ渡す。[5]
- ビュー
・{!! $svg !!} を出力すればSVGが表示される。[5]
よく使うオプション
- 形式: format('png'|'svg'|'eps')(デフォルトSVG)。[6][3]
- サイズ: size(100〜)。[6][3]
- 誤り訂正: errorCorrection('L'|'M'|'Q'|'H')。[6]
- 色: color(r,g,b)(PNG時はGD/Imagick必須)。[6]
ダウンロード/保存
- ダウンロード用ルートを用意し、生成結果をレスポンスとして返却(例: PNGバイナリをレスポンス、Content-Dispositionでattachment)。[1]
- Storage::put でSVG/PNGを保存し、配布やキャッシュに利用可能。[1]
トラブル対策
- 画像生成でエラー: GD/Imagick未導入が典型、拡張を入れて再試行。[2]
- 古い記事の手動設定: v4は自動ロードのため不要なことが多い。[3]
この流れで、URLを渡すだけで画面表示・API返却・保存・ダウンロードまで一通り実装できます。[5][6][1][3][2]
1
2
3
4
5
6
7
8
9
10