2017 © Pedro Peláez
 

library php-java-optional

Java9 Optional implementation for PHP

image

minimalcode/php-java-optional

Java9 Optional implementation for PHP

  • Saturday, June 24, 2017
  • by dewos
  • Repository
  • 1 Watchers
  • 2 Stars
  • 251 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 1 Forks
  • 0 Open issues
  • 10 Versions
  • 11 % Grown

The README.md

Php implementation of Java-9 Optional, with 'generics' support, (*1)

Features

  • Full 1:1 implementation of Java-9 Optional API
  • Generic support (conceptually, obviously), for objects and primitives
  • OptionalBool, OptionalFloat, OptionalInt, OptionalString already available
  • Only 1 single class, optimized for performance
  • Production ready

Usage

echo OptionalString::of('hello')->orElse('world');// echo 'hello' 

echo OptonalInt::ofNullable(null)->orElse(42);// echo 42

Generics

/**
 * @method Book get()
 * @method Book|null orElse($other)
 * @method Book orElseGet(callable $supplier)
 * @method Book orElseThrow(callable $exceptionSupplier)
 */
class OptionalBook extends AbstractOptional
{
    /**
     * @inheritdoc
     */
    protected function supports($value)
    {
        return $value instanceof Book;
    }
}

$book = new Book()
$optBook = OptionalBook::of($book);

http://download.java.net/java/jdk9/docs/api/java/util/Optional.html, (*2)

https://www.mkyong.com/java8/java-8-optional-in-depth/, (*3)

http://blog.codefx.org/java/dev/java-9-optional/, (*4)

http://iteratrlearning.com/java9/2016/09/05/java9-optional.html, (*5)

The Versions

24/06 2017

dev-master

9999999-dev http://minimalcode.org

Java9 Optional implementation for PHP

  Sources   Download

Apache-2.0

The Requires

  • php >=5.5

 

The Development Requires

by Fabio Piro

php generic option optional java

24/06 2017

v1.0.8RC

1.0.8.0-RC http://minimalcode.org

Java9 Optional implementation for PHP

  Sources   Download

Apache-2.0

The Requires

  • php >=5.5

 

The Development Requires

by Fabio Piro

php generic option optional java

05/06 2017

v1.0.7RC

1.0.7.0-RC http://minimalcode.org

Java9 Optional implementation for PHP

  Sources   Download

Apache-2.0

The Requires

  • php >=5.5

 

The Development Requires

by Fabio Piro

php generic option optional java

04/06 2017

v1.0.6RC

1.0.6.0-RC http://minimalcode.org

Java9 Optional implementation for PHP

  Sources   Download

Apache-2.0

The Requires

  • php >=5.5

 

The Development Requires

by Fabio Piro

php generic option optional java

15/05 2017

v1.0.5RC

1.0.5.0-RC http://minimalcode.org

Java9 Optional implementation for PHP

  Sources   Download

Apache-2.0

The Requires

  • php >=5.5

 

The Development Requires

by Fabio Piro

php generic option optional java

07/05 2017

v1.0.4RC

1.0.4.0-RC http://minimalcode.org

Java9 Optional implementation for PHP

  Sources   Download

Apache-2.0

The Requires

  • php >=5.4

 

The Development Requires

by Fabio Piro

generic option optional java

10/04 2017

v1.0.2RC

1.0.2.0-RC http://minimalcode.org

Java9 Optional implementation for PHP

  Sources   Download

Apache-2.0

The Requires

  • php >=5.4

 

The Development Requires

by Fabio Piro

generic option optional java

10/04 2017

v1.0.3RC

1.0.3.0-RC http://minimalcode.org

Java9 Optional implementation for PHP

  Sources   Download

Apache-2.0

The Requires

  • php >=5.4

 

The Development Requires

by Fabio Piro

generic option optional java

10/04 2017

v1.0.1RC

1.0.1.0-RC http://minimalcode.org

Java9 Optional implementation for PHP

  Sources   Download

Apache-2.0

The Requires

  • php >=5.4

 

The Development Requires

by Fabio Piro

generic option optional java

05/04 2017

v1.0.0RC

1.0.0.0-RC http://minimalcode.org

Java9 Optional implementation for PHP

  Sources   Download

Apache-2.0

The Requires

  • php >=5.4

 

The Development Requires

by Fabio Piro

generic option optional java