phunctional ,因为功能编程很重要。
Lambdish的phunctional是一个小库,试图通过UTIL高阶功能和功能来使功能编程的某些方面以及用于管理Iterables的功能。
关于
phunctional的灵感来自Clojure和其他一些PHP库,例如Iter,Compose和Felpado。
我们想到开发该库的主要原则是:
- 收集可以是任何可觉得可以觉得的PHP对象,数组或发电机
- 偏爱构图与继承
- 懒惰的时候
- 避免状态,状态是(通常)邪恶!
- 简单性的易气性
- 如果有意义,请违反上述规则
所有这些都可以用一个词来恢复:不变性。
安装
用作曲家安装它:
composer require lambdish/ phunctional
简单用法
首先是导入您将要使用的每个功能,例如:
use function Lambdish \\ phunctional \\ map ;
然后,您将能够使用它:
map ( function ( $ number ) { return $ number + 10 ; }, [ 1 , 2 , 3 , 4 , 5 ] ); // => [11, 12, 13, 14, 15]
并做一些更复杂的事情:
phunctional\\pipe;
use const Lambdish\\ phunctional \\{filter_null, reverse, first};
$lastNonNullableValue = pipe(filter_null, reverse, first);
$lastNonNullableValue([\’first\’, null, \’other\’, \’last non nullable\’, null, null]);
// => "last non nullable"\”>
use function Lambdish \\ phunctional \\ pipe ; use const Lambdish \\ phunctional \\{ filter_null , reverse , first }; $ lastNonNullableValue = pipe (filter_null, reverse, first); $ lastNonNullableValue ([ \' first \' , null , \' other \' , \' last non nullable \' , null , null ]); // => \"last non nullable\"
在这里,我们使用提供的常数,该常数像完全合格的名称空间(因此是callable )的功能一样的别名。
文档
您可以在此处找到功能文档。
