corpsee / nameless-utilities
该包已被废弃,不再维护。未建议替代包。
符合PSR-1、PSR-2、PSR-4和Composer规范的PHP工具包
3.0.1
2018-09-02 11:37 UTC
Requires
- php: >=7.1.0
- ext-bcmath: *
- ext-intl: *
- ext-mbstring: *
Requires (Dev)
- phpunit/phpunit: ~7.0
This package is auto-updated.
Last update: 2020-08-08 15:33:58 UTC
README
该包已被废弃,不再维护。
Nameless utilities
符合PSR-1、PSR-2、PSR-4和Composer的PHP工具包。
安装
您可以使用composer安装Nameless utilities。将以下代码添加到"require"部分的composer.json
"require": { "corpsee/nameless-utilities": "<version>" }
使用Composer安装依赖项
cd path/to/your-project
composer install
使用方法
ArrayHelper
use Nameless\Utilities\ArrayHelper; echo ArrayHelper::toString([1, 2, 3]); // Prints '1, 2, 3', ', ' is default separator echo ArrayHelper::toString([1, 2, 3], ':'); // Prints '1:2:3' $array = [ 'one' => 1, 'two' => 2, 'three' => 3, ]; echo ArrayHelper::get($array, 'four', 4); // Prints '4' (4)
DateTimeHelper
use Nameless\Utilities\DateTimeHelper; echo DateTimeHelper::humanize(121.001); // Prints '2 minute 1 second 1 millisecond'
与本地化/备用标签一起使用
use Nameless\Utilities\DateTimeHelper; $localization = [ ['мкс', 'мкс'], ['мс', 'мс'], ['с', 'с'], ['мин', 'мин'], ['ч', 'ч'], ['д', 'д'], ['мес', 'мес'], ['г', 'г'], ]; echo DateTimeHelper::humanize(121, $localization); // Prints '2 мин 1 с'
FileSizeHelper
use Nameless\Utilities\FileSizeHelper; echo FileSizeHelper::humanize(1000000000); // Prints '953.67MB' echo FileSizeHelper::unhumanize('954MB'); // Prints '1000341504' (bytes)
PathHelper
use Nameless\Utilities\PathHelper; echo PathHelper::toURL('/base/path/to/url', '/base'); // Prints '/path/to/url'
StringHelper
use Nameless\Utilities\StringHelper; var_dump(StringHelper::startWith('example', 'exa')); // Prints true var_dump(StringHelper::endWith('example', 'mplee')); // Prints true var_dump(StringHelper::contains('example', 'xampl')); // Prints true echo StringHelper::cut('example', 6); // Prints 'exampl...', '...' is default suffix echo StringHelper::cutWords('simple example', 1); // Prints 'example...', '...' is default suffix echo StringHelper::transliterate('очень простой пример', 'Russian-Latin/BGN'); // Prints transliterated 'ochen prostoj primer' echo StringHelper::standardize('очень простой Пример', 'Russian-Latin/BGN'); // Prints standardizated 'ochen_prostoj_primer', '_' is default words separator echo StringHelper::standardize('очень простой Пример', 'Russian-Latin/BGN', '-'); // Prints 'ochen-prostoj-primer', use '-' for slugify string var_dump(StringHelper::toArray('1,2,3,')); // Prints Array ['1', '2', '3'], ',' is default separator echo StringHelper::snakecaseToCamelcase('snake_case'); // Prints 'SnakeCase' echo StringHelper::snakecaseToCamelcase('snake_case', true); // Prints 'snakeCase' echo StringHelper::camelcaseToSnakecase('CamelCase'); // Prints 'camel_case'
UrlHelper
use Nameless\Utilities\UrlHelper; echo UrlHelper::toPath('/path/to/url', '/base'); // Prints '/base/path/to/url'
BcMathHelper
将浮点数值传递给期望字符串操作数的BCMath函数可能不会产生预期的效果,因为PHP将浮点值转换为字符串的方式,即字符串可能以指数形式表示(BCMath不支持),并且十进制分隔符是区域相关的(而BCMath始终期望小数点)。
<?php $num1 = 0; // (string) 0 => '0' $num2 = -0.000005; // (string) -0.000005 => '-5.05E-6' echo bcadd($num1, $num2, 6); // => '0.000000' setlocale(LC_NUMERIC, 'de_DE'); // uses a decimal comma $num2 = 1.2; // (string) 1.2 => '1,2' echo bcsub($num1, $num2, 1); // => '0.0' ?>
BcMathHelper解决浮点值转换为字符串和BCMath函数中的逗号作为十进制分隔符的问题
use Nameless\Utilities\BcMathHelper; var_dump(BcMathHelper::add('0.000005', '0.000005', 5)); // (float)0.00001 var_dump(BcMathHelper::add('0,000005', '0,000005', 5)); // (float)0.00001 var_dump(BcMathHelper::add(0.000005, 0.000005, 5)); // (float)0.00001 var_dump(BcMathHelper::add('5.0E-6', '5.0E-7', 5)); // (float)0.00001 var_dump(BcMathHelper::sub(0.000005, 0.000001, 5)); // (float)0.000004 var_dump(BcMathHelper::mul(0.000005, 0.000002, 11)); // (float)0.00000000001 var_dump(BcMathHelper::div(0.000005, 0.000002, 2)); // (float)2.50 var_dump(BcMathHelper::comp(0.000005, 0.000002, 6)); // (int)1
测试
您可以使用以下命令运行单元测试
cd path/to/nameless-utilities
./vendor/bin/phpunit
许可
Nameless utilities是开源软件,根据GPL-3.0许可证授权。