Zguillez | Guillermo de la Iglesia
Implements Mobile-Detect lib for Response's write on Slim Framework App
composer require zguillez/slim-mobile-detect
// composer.json
{
"require": {
"slim/slim": "^3.0",
"zguillez/slim-mobile-detect": "^1.0.0"
}
}
$app->get('/hello/{name}', function ($request, $response, $args) {
$request = new Slim\Http\MobileRequest($request);
$response = new Slim\Http\MobileResponse($response);
// ...
});
$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
$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
<?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();
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.
©2016 Zguillez.io
Original code licensed under MIT Open Source projects used within this project retain their original licenses.
- Initial implementation