Laravel 4でQRコードを作たい時に便利なパッケージ「barcode」

カテゴリ:Web制作タグ:,

今作っているサービスでアプリケーション上でQRコードの生成を行う必要性が出てきました。
QRコードを使う機会はそんなに頻度は高くないですが、URLを教えたりする時に便利ですよね。
今回調べたら便利なパッケージがありましたので紹介したいと思います。

その名も「barcode」(バーコード)!
導入方法と今回の目的であるQRコードの表示までを解説していきます。

この記事の内容

  1. composer.jsonに追加する
  2. composer updateを実行する
  3. app.phpを編集する
  4. パッケージの設定ファイルをコピーする
  5. QRコードを生成する

composer.jsonに追加する

まずは、Laravel 4のアプリケーションフォルダ直下にある「composer.json」を開き、

「”dinesh/barcode”: “dev-master”」を追加します。
上記は例です。

composer updateを実行する

Poderosa等のソフトウェアを使い、SSHでサーバーにアクセスし、Laravel 4があるディレクトリで

を実行して、パッケージをインストールします。

パッケージの設定ファイルをコピーする

続いてそのまま

を実行してパッケージの設定ファイルをコピーします。

app.phpを編集する

「app/config/」ディレクトリにある「app.php」を編集します。
providers’ => array(の中の最後の行に「’Dinesh\Barcode\BarcodeServiceProvider’,」を追加します。
例:

続いて同ファイルの’aliases’ => array(の中の最後の行に「’DNS1D’ => ‘Dinesh\Barcode\Facades\DNS1DFacade’,」と「’DNS2D’ => ‘Dinesh\Barcode\Facades\DNS2DFacade’,」を追加します。
例:

QRコードを生成する

最後に簡単な使い方です。
詳しい使い方はdineshrabara/barcode · GitHubのページに載っています。

しかし確認出来た中では、
HTMLやSVGで表示する場合にカラーの指定を、array(48, 48, 221)等で指定するとArray to string conversionエラーが出ます。

また、説明の記述漏れだとは思いますが、(HTMLのタグの話なので)
base64エンコードの画像で表示するコードが説明のものだと表示されませんでした。(imgタグに抜けがある[pngの後に;base64がない])

例としてbladeテンプレート内で使う場合を書いておきます。

getBarcodePNGPathでファイルとしても保存出来るみたいですが、試した限りでは
「QRコードで読み取ると表示される内容に指定した文字列にある[英数字]でファイル名が生成されるみたい」
+
「返り値の先頭に//と付く」
という感じだったので今回使用する際には使いませんでしたが、

下記のコードで表示は可能です。

尚、保存先は「app/config/packages/dinesh/barcode」にある「config.php」の値を変更してあげれば変更する事が出来ます。
(デフォルトは、public_path直下)
※一文字以上QRコードで読み取ると表示される内容に英字か数字が含まれていないと.pngというファイルになってしまうので注意です。

こんな感じでテンプレート内にQRコードを表示する事が出来ます。
いかがでしょうか?
QRコードはAPI等で生成することも出来ますが、もっとパッケージを導入するだけで表示出来るのでお手軽ではないでしょうか。
同じようなパッケージを探してた方は是非試してみてくださいね!

関連リンク:dineshrabara/barcode · GitHub

あとでよむ / みんなにシェアする

このエントリーをはてなブックマークに追加
LINEで送る

コメントをする / みる

コメントを残す

コメントはまだありません。

検索する

カテゴリ一覧

タグ一覧

お知らせ アクセス解析 アプリケーション ゲーム サーバー スニペット プラグイン 動画 日記 Laravelパッケージ Laravel3 Laravel4 Tips Webサービス Webデザイン WordPress

最近投稿された記事

つぶやき

【GIGAZINE読者限定早い者勝ち】無料でDropbox・Googleドライブなどのクラウドを自由自在に同期・一括管理できる「まとめてクラウド」が先着5万人48時間だけゲット可能 - GIGAZINE gigazine.net/news/20151010-…

約2年前

離れていてもコミュニケーションが取りやすい便利なサービス「Remotty」 #remotty remotty.net

約2年前

RT @localdisk: メジャーどころがたくさん / 【セキュリティ ニュース】「WPTouch」など多数のWordPressプラグインに脆弱性(1ページ目 / 全1ページ):Security NEXT security-next.com/057930

約2年前

Javascript フレームワーク「Aurelia」aurelia.io

約2年前

dockerで起動済みのコンテナに対して何かしたい時は、docker exec -it コンテナ名 /bin/bashで入って実行したり、docker exec -it コンテナ名 supervisorctl restart nginxみたいな事も出来て便利。

約2年前

サーバー移転完了に伴いサイトの閲覧も可能な状態になりました。移転作業中にご訪問いただいた方には大変ご迷惑をおかけいたしました。今後このようなことがないよう気をつけて参ります。

約2年前

現在当サイトが閲覧出来ない状態となっております。こちらはサーバーの移転作業に遅れが生じているためとなっております。ご利用いただいている方にはご迷惑をおかけいたします。

約2年前

WordPress4.1.1(日本語版)が利用出来るようになりました wp.me/p4RkJY-Dj

約3年前

RT @keito_jp: Twitterをサマーウォーズ的に表示させるやつを製作中。遊んでみてね。 open.moo.jp http://t.co/gIgp5Gh6qW

約3年前

任天堂、YouTubeの広告収入を動画制作者とシェアする「Creators Program」サービス開始 | Game*Spark - 国内・海外ゲーム情報サイト s.gamespark.jp/article/2015/0…

約3年前

↑上へ戻る