phunctional

其他类别 2025-08-21

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]

并做一些更复杂的事情:

phunctionalpipe; 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 )的功能一样的别名。

文档

您可以在此处找到功能文档。

下载源码

通过命令行克隆项目:

git clone https://github.com/Lambdish/phunctional.git