Skip to content

zguillez/slim-mobile-detect

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 

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