vinelab/assistant

由辅助类组成的助手包

v1.2.0 2015-10-30 10:40 UTC

This package is auto-updated.

Last update: 2024-08-27 22:21:13 UTC


README

Build Status

助手

提供一系列辅助类

  • 设备检测(移动设备、浏览器、机器人、社交网络爬虫等)
  • 字符串格式化
  • 生成 UUIDs(符合 v4 标准)和随机 ID

支持 UTF-8 字符集。

安装

依赖项

  • php 5.3+
  • mbstring(扩展)

通过 Composer

composer require vinelab/assistant

或者将其添加到你的 composer.json

{
     "require": {
         "vinelab/assistant": "*"
     }
 }

Laravel

编辑 app.php 并将 'Vinelab\Assistant\AssistantServiceProvider' 添加到 'providers' 数组。

它将自动别名类 FormatterDeviceDetectorGenerator,如果你希望自定义它们的名称,请编辑 app.php 中的 aliases 数组,如下所示

array(
	'...',
	'MyFormatter' => 'Vinelab\Assistant\Facades\Formatter',
	'MyGenerator' => 'Vinelab\Assistant\Facades\Generator',
	'MyDeviceDetector' => 'Vinelab\Assistant\Facades\DeviceDetector',
)

Formatter

	Formatter::snakify('my word to make a snake'); // output: my_word_to_make_a_snake

	Formatter::camelify('hakuna matata'); //output: hakunaMatata

	Formatter::neutralize('I hAtE whEn sOmEoNe wRites thInGs LIKE tHiS');
	// output: ihatewhensomeonewritesthingslikethis

	Formatter::dashit('bash cash slash'); // output: bash-cash-slash

	Formatter::date('10-02-2010 12:13:00'); // output: 10/02/10

	Formatter::date('10-02-2010 12:13:00', 'd-m-y'); // output: 10-02-10

	// Turn a camelCase string into dash-separated string
	Formatter::aliasify('simpleTest'); // output: simple-test

	Formatter::br2nl('a<br>b'); // output: a\nb

	// Clean up HTML formatting to be saved in the database or used as plain text
	// keeping links only as anchor tags. Solves an issue with editors when pasting
	// in text from word processors or web pages. PS: removes all sorts of media.
	Formatter::cleanHTML('<p>some</p><br><a href="#html">HTML</a><div>cleaned</div><img src="http://come.img" />');
	// output: some\n\n<a href="#html">HTML</a>\ncleaned\n

DeviceDetector

	$user_agent = $_SERVER['HTTP_USER_AGENT'];

	// or in case of laravel
	$user_agent = Request::server('HTTP_USER_AGENT');

	DeviceDetector::isMobile($user_agent); // true|false

	DeviceDetector::isBrowser($user_agent); // true|false

	DeviceDetector::isBot($user_agent); // true|false - also detects sharing bots

	DeviceDetector::isSharingBot($user_agent) // true|false

	DeviceDetector::whatIs($user_agent); // mobile|browser|bot|sharing-bot

	DeviceDetector::os($user_agent); // ios|android|blackberry|windows|other

Generator

	// Generate a UUID v4 compliant.
	$uuid = Generator::uuid();

	// unique identifier that does not exceed 30 chars
	$id = Generator::randomId(); // 907927051cdd15588d36