PHP - Mobile_Detect - 4.8


クラウディア 


1. 概要
2. 状況
3. ダウンロード
4. Laravel への取り込み
5. 使い方
6. 参考サイト

1. 概要

 ずっと、ほったらかしであったのですが、2025年8月22日、「4.8」について書くことになりました。

2. 状況

 なんでそうなったかちゅうと、「メンテナンス・トラブルシュート - PHP - PHP 8.2 → 8.4」に書いてあるのですが。  「PHP」を「8.4」へアップグレードすると、バージョン「2.8」では、やたら「warning」が出力されるのです。  一時的な解消については、上記ページを参照いただくとして。  バージョン「4.8」へ変えることで、状況が解消するのか、わかりませんが、この際、「4.8」を取得してみたいと思います。  とりあえず、下記のサイトを読むと。
mobiledetect.net
 「2.8」の対応する「PHP」のバージョンは、「5.0」以上「7.0」未満。  「3.74」(使ったことがない)の対応する「PHP」のバージョンは、「7.4」以上「8.0」未満。  「4.8」の対応する「PHP」のバージョンは、「8.0」以上。  ちゅうことで、「PHP 8.0」にした時点で、「4.8」を使うべきであったのだな。

3. ダウンロード

 直接ダウンロードするのであれば。  前項のサイトへアクセスして。  「4.8」

 「Code」→「Download ZIP」


 「Git」からもとれました。


git clone https://github.com/serbanghita/Mobile-Detect.git
 単独で使う場合の使い方がよくわからない・・・。

4. Laravel への取り込み

 「Laravel」へは、「composer」でインストールできるようです。  「jenssegers/agent」は、「2.8」なので、「mobiledetect/mobiledetectlib」をインストール。  「Laravel」のプロジェクトディレクトリで。

composer require mobiledetect/mobiledetectlib

./composer.json has been updated
Running composer update mobiledetect/mobiledetectlib
Loading composer repositories with package information
Updating dependencies
Lock file operations: 2 installs, 0 updates, 0 removals
  - Locking mobiledetect/mobiledetectlib (4.8.09)
  - Locking psr/cache (3.0.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 2 installs, 0 updates, 0 removals
  - Downloading psr/cache (3.0.0)
  - Downloading mobiledetect/mobiledetectlib (4.8.09)
  - Installing psr/cache (3.0.0): Extracting archive
  - Installing mobiledetect/mobiledetectlib (4.8.09): Extracting archive
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi

   INFO  Discovering packages.

  laravel/sail ............................................................................................. DONE
  laravel/sanctum .......................................................................................... DONE
  laravel/tinker ........................................................................................... DONE
  nesbot/carbon ............................................................................................ DONE
  nunomaduro/collision ..................................................................................... DONE
  nunomaduro/termwind ...................................................................................... DONE
  spatie/laravel-ignition .................................................................................. DONE

85 packages you are using are looking for funding.
Use the 'composer fund' command to find out more!
> @php artisan vendor:publish --tag=laravel-assets --ansi --force

   INFO  No publishable resources for tag [laravel-assets].

Found 7 security vulnerability advisories affecting 5 packages.
Run "composer audit" for a full list of advisories.
Using version ^4.8 for mobiledetect/mobiledetectlib
 取り込んだら、一度、「Laravel」のキャッシュは、クリアした方がいいでしょう。

5. 使い方

 上記で取り込んだものを、「Laravel」で使うには・・・。

app
 配下のモジュールで使用する場合は。

use Detection\MobileDetect;
 で「use」して。

$detect = new MobileDetect();
 で使うことができます。  「.blade.php」で使用する場合は。

@inject('detect', \Detection\MobileDetect::class)
 で、使用できます。  「ChatGPT」くんは、「サービスプロバイダーで登録」が必要と言っていましたが。  「PHP 8.2.29」「Laravel Framework 10.48.20」の環境では、まんま動作しました。

6. 参考サイト

 本ページは、「ChatGPT」くんを参考にさせていただきましたが、噓つきだったので。  「Gemini」先生を参考にさせていただきました。

AbemaTV 無料体験
5G CONNECT
世界最大級のオンライン英会話EF English Live