質問: URLを変えないで スマホとPCで分けたいと考えています。 laravel4では資料が掲載されていたのですが laravel5.3で応用しようとしても変更が多すぎて 対応できませんでした。 【資料は以下の通り】 http://qiita.com/ichikawa_0829/items/edc728433daeb8da9fe2 また、自分の中でできる限り書いたのですが ここから足りない部分は何かお手数ですがお教えください。 /routes/web.php ```
回答: こんにちは これがベストな判定方法といえるかわかりかねますが、一例としてユーザーエージェントの情報を正規表現でチェックするやつを。デバイス判定は知っているのかもしれませんが、一応記載しておきます。 ``` if (preg_match("/iPhone|iPod|Android.*Mobile|Windows.*Phone/", $_SERVER['HTTP_USER_AGENT'])) { return true; } else { return false; } ``` 参考サイトに従うのであれば、DeviceCheckのFacadeに付け足せばいいですね。 5.3だとstart.phpではなく、app.phpというファイル名に変わっていますよね?(たぶん) $appは既に用意されているので、 ``` if (DeviceCheck::isSmartPhone()) { App::bindShared('view.finder', function ($app) { $paths = [ app_path('views/sp'), app_path('views') ]; return new \Illuminate\View\FileViewFinder($app['files'], $paths); }); } ``` これだけ付け足せば良い気がするのですが駄目でしたか?? 余計ですが、bootstrapではなく、middlewareで判定してもいいんじゃないかなーと思いました。