im0rtality / underscore
PHP的函数式编程库
v0.6.1
2016-04-04 12:41 UTC
Requires
- php: >=5.4
Requires (Dev)
- phpunit/phpunit: ~4.7
This package is not auto-updated.
Last update: 2024-09-28 15:28:56 UTC
README
PHP的函数式编程库
代码示例
库旨在尽可能简单易用。以下是一些展示功能操作的示例
Underscore::from([1,2,3,4,5]) // convert array format ->map(function($num) { return ['number' => $num];}) // filter out odd elements ->filter(function($item) { return ($item['number'] % 2) == 0;}) // vardump elements ->invoke(function($item) { var_dump($item);}) // changed my mind, I only want numbers ->pick('number') // add numbers to 1000 ->reduce(function($sum, $num) { $sum += $num; return $sum; }, 1000) // take result ->value(); // 1006
动机
最初我需要其他项目中的函数式编程魔法,因此不得不选择一个库或自己编写。
有几个UnderscoreJS的PHP端口,但是没有一个符合我的要求(代码优雅、易于编写、标准化)
- brianhaveri/Underscore.php - 未维护,代码杂乱
- Anahkiasen/underscore-php - Laravel4包 => 与PSR-2不兼容
安装
通过composer
$ composer require im0rtality/underscore:*
Composer文档建议使用特定版本。您可以在发行版中找到它们。
文档
请参阅wiki
测试
测试以clover.xml格式生成覆盖率报告
$ vendor/bin/phpunit
许可证
MIT许可证:只要包含原始版权,您就可以做任何您想做的事情。