ncrypthic/functionalphp

Functional php primitives

1.0.1 2019-02-24 03:47 UTC

This package is auto-updated.

Last update: 2024-04-24 14:40:27 UTC


README

Installation

$ composer require ncrypthic/functionalphp

Usage

  1. Monads
    1. Option
    2. Execute
    3. Match

Option

<?php
use LLA\Functional\Maybe;
use LLA\Functional\Some;
use LLA\Functional\None;

// ...
// $val = <someValue>
$maybeNull = Maybe($val)->match()
  ->case(Some(1), function($val) {
  })
  ->case(None(), function($val) {
  })
  ->val();

Execute

<?php
use LLA\Functional\Execute;
use LLA\Functional\Success;
use LLA\Functional\Failure;

// ...
// $callable = <someValue>
$tryExecute = Execute($callable)->match()
  ->case(Success(1), function($val) {
  })
  ->case(Failure(), function($val) {
  })
  ->val();

Match

<?php
use LLA\Functional\Execute;
use LLA\Functional\Success;
use LLA\Functional\Failure;

// ...
// $callable = <someValue>
$tryExecute = Execute($callable)->match()
  ->case(Success(1), function($val) {
  })
  ->case(Failure(), function($val) {
  })
  ->val();