zguillez/slim-mobile-detect

Implements Mobile-Detect lib for Slim Framework app

1.0.0 2016-03-08 17:57 UTC

README

Dependency Status License Join the chat at https://gitter.im/zguillez/slim-mobile-detect

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

//packaje.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

Analytics