vinelab / assistant
由辅助类组成的助手包
v1.2.0
2015-10-30 10:40 UTC
Requires
- php: >=5.3.0
- ext-mbstring: *
- illuminate/support: *
Requires (Dev)
- phpunit/phpunit: 3.7.*@dev
README
助手
提供一系列辅助类
- 设备检测(移动设备、浏览器、机器人、社交网络爬虫等)
- 字符串格式化
- 生成 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'
数组。
它将自动别名类 Formatter、DeviceDetector 和 Generator,如果你希望自定义它们的名称,请编辑 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