zguillez / slim-mobile-detect
Implements Mobile-Detect lib for Slim Framework app
Installs: 64 699
Dependents: 1
Suggesters: 0
Security: 0
Stars: 19
Watchers: 2
Forks: 4
Open Issues: 1
Requires
README
Zguillez | Guillermo de la Iglesia
Implements Mobile-Detect lib for Response's write on Slim Framework 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:
<?php
require 'vendor/autoload.php';
$app = new Slim\App();
$app->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.
License
©2016 Zguillez.io
Original code licensed under MIT Open Source projects used within this project retain their original licenses.
Changelog
v1.0.0 (March 8, 2016)
- Initial implementation