- 1. 概要
- 2. ダウンロード
- 3. 使い方
- 4. Laravel への取り込み
1. 概要
クライアントが、「PC」なのか、スマートフォンなのかタブレットなのか、それによって処理を分けるというのは、よくある場面です。
だって、「Google 大先生」が「モバイルユーザビリティに問題があります」って言うんだもの。
本当は、画面のサイズを知りたいところなのですが、そこまでやるには、「JavaScript」まで巻き込まなかったりしなければならないし、「.scss」を使ってメディアクエリを使ったりしなければならない。
面倒なんです。
でまぁ、以前は、自前の処理を頑張って作ってたんですけどね。
$_SERVER['HTTP_USER_AGENT']
の中の機種をあらわす文字列を取得してどうのこうの・・・。
しかし、これに対応するのもなかなか面倒です。
これを、みんなで解決してくれるようなソースがあるようです。
本ページは、下記のサイトを参考にさせていただきました。
「PHP でスマホやタブレットなどを判定 Mobile Detect」
2. ダウンロード
「github」にあるんだけど、直接ソースをとってこれなかったので・・・。
下記のサイトへアクセスします。
「Mobile Detect - lightweight PHP class for detecting mobile devices (including tablets)」
表示したら、上部画面中央に、「ダウンロード」ボタンがあります。

ダウンロードするのは、「.zip」ファイルです。
必要なのは、解凍した中の
Mobile_Detect.php
というファイルのみです。
3. 使い方
クラス化されているので、「new」してメソッドを使うのみです。
参考サイト風に書きますと
$detect = new Mobile_Detect;
して、以下の2つのメソッドを使います。
$detect->isMobile()
$detect->isTablet()
戻り値は「bool」で、上がスマートフォンか否かを示すもの、下がタブレットを示すものだそうです。
まぁ、組み合わせて使えばいいでしょう。
4. Laravel への取り込み
参考サイトだと
require_once '/パス/Mobile_Detect.php';
てなことを書いてますが、ちょっとわたしはこの書き方好きじゃないので。
「Laravel」を使用している場合、「Laravel」のパスの下に
app
というディレクトリがありますな、この下に例えば、下記のようなサブディレクトリを作成します。
app/Lib
このディレクトリに「Mobile_Detect.php」を配置して、1行加えます。
2行目ですな。
<?php
namespace App\Lib;
使う方は
use App\Lib\Mobile_Detect;
としておけば、後は、前項と同様に使用できます。
新しい機種が出たりしたら、メンテナンスされるようですので、その都度、いただいて更新しましょう。
|
            |