alecrabbit / php-accessories
PHP Accessories: 类等
0.14.0
2019-10-10 09:15 UTC
Requires
- php: >=7.2
- alecrabbit/php-helpers: ^0.6 || ^0.7 || ^0.8
- alecrabbit/php-reports: ^0.3
- alecrabbit/php-traits: ^0.3
Requires (Dev)
- nunomaduro/collision: ^3.0
- phpunit/phpunit: ^8.0
- symfony/var-dumper: ^4.3
This package is auto-updated.
Last update: 2024-08-29 05:00:24 UTC
README
安装
composer require alecrabbit/php-accessories
使用
详细信息请见 示例
功能
Caller::class
获取调用者 Class::method()
或 function()
或 Undefined
$caller = Caller::get() // object(AlecRabbit\Accessories\Caller\CallerData)
注意:
CallerData::class
可以转换为字符串
if($wrongArguments) { throw new \RuntimeException(Caller::get() . ' provided wrong arguments'); }
您可以设置自己的字符串转换格式化器
$formatter = new CustomFormatter($options); Caller::setFormatter($formatter);
注意:
CustomFormatter::class
应实现CallerDataFormatterInterface
Circular::class
辅助类,用于获取循环中的值
$c = new Circular([1, 2, 3]); $value = $c(); // int(1) invoke $value = $c->value(); // int(2) get value by method ... $c(); // int(3) ... $c(); // int(1)
注意:
Circular::__construct
可以接受array
,Rewindable
或返回\Generator
的可调用对象
Rewindable::class
可重绕生成器辅助类
$r = new Rewindable($genFunc); // $genFunc is a callable and returns \Generator iterator_to_array($r); $r->rewind();
G::class
包含生成器函数
$r = G::range(1, 3); // object(Generator)
R::class
包含可重绕生成器函数
$r = R::range(1, 3); // object(AlecRabbit\Accessories\Rewindable) iterator_to_array($r); $r->rewind();
Pretty::class
字符串格式化器,例如百分比、字节和时间(秒、微秒、纳秒)
Pretty::bytes(10584760, 'mb'); // string(7) "10.09MB" Pretty::time(0.214); // string(5) "214ms" Pretty::percent(0.214); // string(6) "21.40%" Pretty::seconds(0.214); // string(5) "214ms" Pretty::milliseconds(214); // string(5) "214ms" Pretty::useconds(3212); // string(5) "3.2ms" Pretty::useconds(12); // string(5) "12μs" // alias for useconds Pretty::microseconds(12); // string(5) "12μs" Pretty::nanoseconds(10485); // string(7) "10.5μs" Pretty::nanoseconds(105); // string(7) "105ns"
注意:
Pretty::class
的时间格式化方法以它们接受的单位命名
MemoryUsage::class
获取内存使用的辅助类
$report = MemoryUsage::reportStatic('mb'); echo $report . PHP_EOL; // Memory: 0.75MB(32.73MB) Real: 2.00MB(34.00MB)
您可以设置自己的字符串转换格式化器
$formatter = new CustomFormatter($options); MemoryUsage::setFormatter($formatter);
注意:
CustomFormatter::class
应实现MemoryUsageReportFormatterInterface
注意:参数
$options
对MemoryUsageReportFormatter
无效