PHPackages                             loophp/fpt - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. loophp/fpt

AbandonedArchivedLibrary[Utility &amp; Helpers](/categories/utility)

loophp/fpt
==========

Functional programming toolbox for PHP.

27185[1 PRs](https://github.com/loophp/fpt/pulls)PHP

Since Jul 30Pushed 1y ago1 watchersCompare

[ Source](https://github.com/loophp/fpt)[ Packagist](https://packagist.org/packages/loophp/fpt)[ RSS](/packages/loophp-fpt/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (4)Used By (0)

[![Latest Stable Version](https://camo.githubusercontent.com/48cfea7ce36a790725405293e23e82209c5991545a84b4b7b4bd07abea4c6af5/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6c6f6f7068702f6670742e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/loophp/fpt)[![GitHub stars](https://camo.githubusercontent.com/76d17c03d6269831c5a15c07e97f1cb22cc00c9692287e845fdf231b245e702f/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f6c6f6f7068702f6670742e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/loophp/fpt)[![Total Downloads](https://camo.githubusercontent.com/b6f36f54c5e3ca87f88065174a3ee9da9f83c5a704fe480268f708c83421bef5/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6c6f6f7068702f6670742e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/loophp/fpt)[![GitHub Workflow Status](https://camo.githubusercontent.com/c47020682bc664617e9a76ba72186e15c27406f75c6ca334665e6aa4839aff80/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f776f726b666c6f772f7374617475732f6c6f6f7068702f6670742f556e697425323074657374733f7374796c653d666c61742d737175617265)](https://github.com/loophp/fpt/actions)[![Scrutinizer code quality](https://camo.githubusercontent.com/0981a44c6be0c11f698b2a71f007a0ba038b2ea762c61d20f5aa5c4cacd1b1d2/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f7175616c6974792f672f6c6f6f7068702f6670742f6d61737465722e7376673f7374796c653d666c61742d737175617265)](https://scrutinizer-ci.com/g/loophp/fpt/?branch=master)[![Type Coverage](https://camo.githubusercontent.com/115aac7cb55022bc1e6584175ffc10a6952f398c303b8c0c334be62a51910aa0/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f64796e616d69632f6a736f6e3f7374796c653d666c61742d73717561726526636f6c6f723d636f6c6f72266c6162656c3d54797065253230636f7665726167652671756572793d6d6573736167652675726c3d687474707325334125324625324673686570686572642e6465762532466769746875622532466c6f6f706870253246667074253246636f766572616765)](https://shepherd.dev/github/loophp/fpt)[![Code Coverage](https://camo.githubusercontent.com/88c517f68fdd2f9201e8b7a6a2d104c6fbe5cf4abc350d4637ec1024d0cc3e79/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f636f7665726167652f672f6c6f6f7068702f6670742f6d61737465722e7376673f7374796c653d666c61742d737175617265)](https://scrutinizer-ci.com/g/loophp/fpt/?branch=master)[![License](https://camo.githubusercontent.com/10a3503ca8cbffa72c30418ff757d9581b63cd616d2ad492bcc36c0b0b927294/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6c6f6f7068702f6670742e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/loophp/fpt)[![Read the Docs](https://camo.githubusercontent.com/07bc57ccb55ab17c8b6eef2c91bbc99d7d628461dbc25561321875674676c840/68747470733a2f2f696d672e736869656c64732e696f2f72656164746865646f63732f6c6f6f7068702d6670743f7374796c653d666c61742d737175617265)](https://loophp-fpt.readthedocs.io/)[![Donate!](https://camo.githubusercontent.com/a71f45de7e408be2477113d166e9ee94c90bbf814a1373fd154aa5b6652302de/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f53706f6e736f722d4769746875622d627269676874677265656e2e7376673f7374796c653d666c61742d737175617265)](https://github.com/sponsors/drupol)[![Donate!](https://camo.githubusercontent.com/cd335a74177c62640acfbb95db4f1848f818606fdf17dc36aed4eef93061dc10/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f53706f6e736f722d50617970616c2d627269676874677265656e2e7376673f7374796c653d666c61742d737175617265)](https://www.paypal.me/drupol)

Functional Programming Toolbox
==============================

[](#functional-programming-toolbox)

Description
-----------

[](#description)

**F**unctional **P**rogramming **T**oolbox (***FPT** for the friends*) is a set of stateless and immutable helper classes to facilitate the use of functional programming(*FP*) concepts.

This projects doesn't aim to transform PHP into a full featured FP language, but it will helps users willing to use and understand a subset of FP concepts in their own code.

Requirements
------------

[](#requirements)

- PHP 8

Installation
------------

[](#installation)

```
composer require loophp/fpt
```

Usage
-----

[](#usage)

### Curry and Partial

[](#curry-and-partial)

```
