https://github.com/zguillez/slim-mobile-detect
Implements Mobile-Detect lib for Response's write on Slim Framework App
https://github.com/zguillez/slim-mobile-detect
mobile-detect packagist php slim-framework slimphp
Last synced: 8 months ago
JSON representation
Implements Mobile-Detect lib for Response's write on Slim Framework App
- Host: GitHub
- URL: https://github.com/zguillez/slim-mobile-detect
- Owner: zguillez
- Created: 2016-03-08T16:19:19.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2020-12-28T09:33:35.000Z (over 5 years ago)
- Last Synced: 2025-05-01T02:38:48.936Z (about 1 year ago)
- Topics: mobile-detect, packagist, php, slim-framework, slimphp
- Language: PHP
- Homepage: https://zguillez.io/
- Size: 20.5 KB
- Stars: 19
- Watchers: 2
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
Awesome Lists containing this project
README
# Slim-Mobile-Detect
[](https://github.com/igrigorik/ga-beacon)
[](http://doge.mit-license.org)
[](https://coveralls.io/r/zguillez/slim-mobile-detect)
[](https://gitter.im/zguillez/slim-mobile-detect?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
> [Zguillez](https://zguillez.io) | Guillermo de la Iglesia
[](https://ko-fi.com/Q5Q4329UT)
## Implements [Mobile-Detect](https://github.com/serbanghita/Mobile-Detect) lib for Response's write on [Slim Framework](http://www.slimframework.com/) App

# Getting Started
### Add package to composer.json
`composer require zguillez/slim-mobile-detect`
// composer.json
{
"require": {
"slim/slim": "^3.0",
"zguillez/slim-mobile-detect": "^1.0.0"
}
}
### Override $request and $response objects on app routes
$app->get('/hello/{name}', function ($request, $response, $args) {
$request = new Slim\Http\MobileRequest($request);
$response = new Slim\Http\MobileResponse($response);
// ...
});
# Usage
### On Request object:
$request->isMobile()
Return *true* on **mobile devices** calls
$request->isTablet()
Return *true* on mobile **tablet** (no phones) calls
$request->isPhone()
Return *true* on mobile **phone** (no tablets) calls
$request->isiOS()
Return *true* on mobile with **iOS** calls
$request->isAndroidOS()
Return *true* on mobile with **Android** calls
### On Response object:
$response->writeDesktop($data)
Write the response only on **desktop** calls
$response->writeMobile($data)
Write the response only on **mobile** calls
$response->writePhone($data)
Write the response only on mobile **phone** (no tablets) calls
$response->writeTablet($data)
Write the response only on **tablet** (no phones) calls
$response->writeIOS($data)
Write the response only on **iOS** calls
$response->writeAndroid($data)
Write the response only on **Android** calls
# Example:
get('/hello/{name}', function ($request, $response, $args) {
$request = new Slim\Http\MobileRequest\MobileRequest($request);
$response = new Slim\Http\MobileResponse\MobileResponse($response);
if ($request->isMobile()) {
//do queries for mobile
} else {
//do queries for desktop
}
$response->write("Hello " . $args['name']);
$response->writeDesktop(" from desktop");
$response->writeMobile(" from mobile");
$response->writePhone(" on a phone");
$response->writeTablet(" on a tablet");
$response->writeIOS(" with iOS");
$response->writeAndroid(" with Android");
return $response;
});
$app->run();
# Contributing and issues
Contributors are welcome, please fork and send pull requests! If you have any ideas on how to make this project better then please submit an issue or send me an [email](mailto:mail@zguillez.io).
# License
©2016 Zguillez.io
Original code licensed under [MIT](https://en.wikipedia.org/wiki/MIT_License) Open Source projects used within this project retain their original licenses.
# Changelog
### v1.0.0 (March 8, 2016)
* Initial implementation
[](https://github.com/igrigorik/ga-beacon)