Package Data | |
---|---|
Maintainer Username: | matthewbdaly |
Maintainer Contact: | matthewbdaly@gmail.com (Matthew Daly) |
Package Create Date: | 2018-04-22 |
Package Last Update: | 2018-04-22 |
Language: | PHP |
License: | MIT |
Last Refreshed: | 2024-11-15 15:14:30 |
Package Statistics | |
---|---|
Total Downloads: | 378 |
Monthly Downloads: | 1 |
Daily Downloads: | 0 |
Total Stars: | 5 |
Total Watchers: | 3 |
Total Forks: | 0 |
Total Open Issues: | 0 |
Middleware for detecting mobile/tablet users and adding data to the session so that other parts of the application can dynamically serve different content as required, in order to implement dynamic serving.
$ composer require matthewbdaly/laravel-dynamic-serving
The package provides the middleware Matthewbdaly\LaravelDynamicServing\Http\Middleware\DetectMobile
, which you can set globally, or use on just a subset of your routes as appropriate. It sets a key of mobile
in your session when a user first navigates to a page behind this middleware, which you can then use to determine which views to show a user, based on whether this returns a value of true
or false
. In addition, it sets the Vary
header to User-Agent
in the response, which tells search engines and caching systems that the response will vary by user agent. If you want to be able to let the user override the default based on the user agent (which is a good idea), all you need to do is provide a means to toggle the mobile
flag in the session - typically you'll want to do this via AJAX and reload the page afterwards.
It also provides the is_mobile()
and is_desktop()
helper functions. While you can use these to determine which view to load, it's likely to be more useful in views in order to determine whether or not to show a particular part of the view.