- 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」先生を参考にさせていただきました。
|
|