Skip to content

Implements Mobile-Detect lib for Response's write on Slim Framework App

Notifications You must be signed in to change notification settings

zguillez/slim-mobile-detect

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Slim-Mobile-Detect

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

Zguillez | Guillermo de la Iglesia

ko-fi

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

Analytics

About

Implements Mobile-Detect lib for Response's write on Slim Framework App

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages