All Projects → zguillez → slim-mobile-detect

zguillez / slim-mobile-detect

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

Programming Languages

PHP
23972 projects - #3 most used programming language

Projects that are alternatives of or similar to slim-mobile-detect

Slim-Console
Slim Framework Console
Stars: ✭ 26 (+44.44%)
Mutual labels:  slim-framework, slimphp
REST-Api-with-Slim-PHP
REST API with PHP Slim Framework 3 and MySQL
Stars: ✭ 69 (+283.33%)
Mutual labels:  slim-framework, slimphp
slim3-mvc
Slim 3 PHP micro framework MVC application boilerplate
Stars: ✭ 24 (+33.33%)
Mutual labels:  slim-framework, slimphp
firebase-php
Firebase Realtime Database PHP Wrapper
Stars: ✭ 41 (+127.78%)
Mutual labels:  packagist
Container
🚀 PHP Service Container with fast and cachable dependency injection.
Stars: ✭ 28 (+55.56%)
Mutual labels:  packagist
yii2-fullcalendar-scheduler
Yii 2 component for easy fullcalendar scheduler integration
Stars: ✭ 24 (+33.33%)
Mutual labels:  packagist
php-base-project
A Composer ready package to start a new PHP 7 project
Stars: ✭ 17 (-5.56%)
Mutual labels:  packagist
packagist-mirror-docker
🐋📦✂️📋📦 Docker image of packagist mirror
Stars: ✭ 28 (+55.56%)
Mutual labels:  packagist
guzzle6-bundle
Integrates Guzzle 6 into your Symfony application
Stars: ✭ 11 (-38.89%)
Mutual labels:  packagist
composer-localdev-plugin
Composer Plugin for local development
Stars: ✭ 31 (+72.22%)
Mutual labels:  packagist
packagist
🐳 Dockette out-of-box Packagist (Nginx / Solr 6 / PHP 7.1+FPM)
Stars: ✭ 32 (+77.78%)
Mutual labels:  packagist
rippled-php
A PHP library for rippled (XRP Ledger) communication.
Stars: ✭ 33 (+83.33%)
Mutual labels:  packagist
laravel-stripe-connect
🦓 Stripe Connect binding for Laravel
Stars: ✭ 73 (+305.56%)
Mutual labels:  packagist
slim-doctrine
Slim-Doctrine managers integration
Stars: ✭ 16 (-11.11%)
Mutual labels:  slim-framework
localization-middleware
PSR-15 middleware to assist primarily with language-based content negotiation and various other localization tasks
Stars: ✭ 24 (+33.33%)
Mutual labels:  slim-framework
zx-ip-address
Deprecated
Stars: ✭ 96 (+433.33%)
Mutual labels:  packagist
upcloud-php-api
PHP client for UpCloud's API
Stars: ✭ 23 (+27.78%)
Mutual labels:  packagist
generator-composer
🐘 Yeoman (http://yeoman.io) generator for a PHP Composer project
Stars: ✭ 16 (-11.11%)
Mutual labels:  packagist
api rest slim framework
RESTFUL API o API REST con slim framework (PHP, MySql, PDO)
Stars: ✭ 14 (-22.22%)
Mutual labels:  slim-framework
phpPgAdmin6
PHP7+ Based administration tool for PostgreSQL 9.3+
Stars: ✭ 45 (+150%)
Mutual labels:  slim-framework

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].