「Agent」のロゴ。ダンディですね。
UserAgentを識別するライブラリ「Agent」
PHPでユーザーのOSやブラウザの種類を判別したいときには「Agent」が便利です。
使い方
<?php
use Jenssegers\Agent\Agent;
$agent = new Agent();
// デバイスのチェック
$agent->isAndroidOS();
// ブラウザのチェック
$agent->isIE();
$agent->isSafari();
Laravelへのインストール
composerでインストールします。
composer require jenssegers/agent
Laravelから呼び出せるように設定をconfig/app.php
に足します。
config/app.php
Jenssegers\Agent\AgentServiceProvider::class,
config/app.php
'Agent' => Jenssegers\Agent\Facades\Agent::class,
LaravelのBladeに便利に渡す
ServiceProviderを追加し、Bladeテンプレートに常に$agent
が渡されるようにします。
これでいつでもBlade内から$agent
を参照することによってUserAgentを取得できます。
app/Providers/AgentServiceProvider.php
<?php
namespace App\Providers;
use View;
use Jenssegers\Agent\Agent;
use Illuminate\Support\ServiceProvider;
class AgentServiceProvider extends ServiceProvider
{
public function boot()
{
$agent = new Agent();
View::share('agent', $agent);
}
public function register()
{
//
}
}
config/app.php
<?php
... 略 ...
/*
* Application Service Providers...
*/
App\Providers\AppServiceProvider::class,
App\Providers\AuthServiceProvider::class,
... 略 ...
App\Providers\AgentServiceProvider::class,
],
これで以下のようにBladeテンプレートから呼び出せます。
index.blade.php
@if($agent->isIE())
{{ 'Internet Explorerを使っています。' }}
@endif