Option
Table of Contents
Classes
Enums
Functions
- some() : Some<string|int, T>
- Return a `Option\Some` option containing `$value`.
- none() : None
- Return a `Option\None` option containing no values.
- fromValue() : NoneValue>)
- Transform a value into an `Option`.
- of() : NoneValue>)
- Execute a callable and transform the result into an `Option`.
- tryOf() : NoneValue>)
- Execute a callable and transform the result into an `Option` as `Option\of()` does but also return `Option\None` if it an exception matching $exceptionClass was thrown.
- flatten() : Option<string|int, U>
- Converts from `Option<Option<T>>` to `Option<T>`.
- ok_or() : Result<T, E>
- Convert an Option to a Result.
- traverse() : Result<U|null, E>
- Apply a function that returns Result if Some, or ok(null) if None.
- transpose() : Result<Option<string|int, U>, E>
- Transposes an `Option` of a `Result` into a `Result` of an `Option`.
- map() : callable(Option<string|int, T>): Option<string|int, U>
- Pipeline function: Maps the Some value using the callback.
- andThen() : callable(Option<string|int, T>): Option<string|int, U>
- Pipeline function: Chains an Option-returning operation on Some value.
- orElse() : callable(Option<string|int, mixed>): Option<string|int, mixed|U>
- Pipeline function: Handles None by calling an Option-returning function.
- filter() : callable(Option<string|int, mixed>): Option<string|int, mixed>
- Pipeline function: Filters Some value by predicate, returning None if false.
- inspect() : callable(Option<string|int, mixed>): Option<string|int, mixed>
- Pipeline function: Performs a side-effect on Some value, passing through the Option.
- unwrapOr() : callable(Option<string|int, mixed>): mixed
- Pipeline function: Unwraps the Some value or returns the default.
- unwrapOrElse() : callable(Option<string|int, mixed>): mixed
- Pipeline function: Unwraps the Some value or computes a default.
- expect() : callable(Option<string|int, mixed>): mixed
- Pipeline function: Unwraps the Some value or throws RuntimeException with the message.
- okOr() : callable(Option<string|int, mixed>): Result<mixed, E>
- Pipeline function: Converts Option to Result with a fixed error value.
- okOrElse() : callable(Option<string|int, mixed>): Result<mixed, E>
- Pipeline function: Converts Option to Result with a lazy error value.
Functions
some()
Return a `Option\Some` option containing `$value`.
some(T $value) : Some<string|int, T>
Parameters
- $value : T
Tags
Return values
Some<string|int, T>none()
Return a `Option\None` option containing no values.
none() : None
Return values
NonefromValue()
Transform a value into an `Option`.
fromValue(U $value[, NoneValue|null $noneValue = null ]) : NoneValue>)
It will be a Some option containing $value if $value is different from $noneValue (default null)
Parameters
- $value : U
- $noneValue : NoneValue|null = null
Tags
Return values
NoneValue>)of()
Execute a callable and transform the result into an `Option`.
of(callable(): U $callback[, NoneValue|null $noneValue = null ]) : NoneValue>)
It will be a Some option containing the result if it is different from $noneValue (default null).
Parameters
- $callback : callable(): U
- $noneValue : NoneValue|null = null
Tags
Return values
NoneValue>)tryOf()
Execute a callable and transform the result into an `Option` as `Option\of()` does but also return `Option\None` if it an exception matching $exceptionClass was thrown.
tryOf(callable(): U $callback[, NoneValue|null $noneValue = null ][, E> $exceptionClass = Exception::class ]) : NoneValue>)
Parameters
- $callback : callable(): U
- $noneValue : NoneValue|null = null
- $exceptionClass : E> = Exception::class
Tags
Return values
NoneValue>)flatten()
Converts from `Option<Option<T>>` to `Option<T>`.
flatten(Option<string|int, Option<string|int, U>> $option) : Option<string|int, U>
Parameters
Tags
Return values
Option<string|int, U>ok_or()
Convert an Option to a Result.
ok_or(Option<string|int, T> $option, E $error) : Result<T, E>
Some($value) becomes ok($value). None becomes err($error).
Parameters
- $option : Option<string|int, T>
- $error : E
Tags
Return values
Result<T, E>traverse()
Apply a function that returns Result if Some, or ok(null) if None.
traverse(Option<string|int, T> $option, callable(T): Result<U, E> $fn) : Result<U|null, E>
Parameters
Tags
Return values
Result<U|null, E>transpose()
Transposes an `Option` of a `Result` into a `Result` of an `Option`.
transpose(Option<string|int, Result<U, E>> $option) : Result<Option<string|int, U>, E>
None will be mapped to Ok(None).
Some(Ok(_)) and Some(Err(_)) will be mapped to Ok(Some(_)) and Err(_).
Parameters
Tags
Return values
Result<Option<string|int, U>, E>map()
Pipeline function: Maps the Some value using the callback.
map(callable(T): U $callback) : callable(Option<string|int, T>): Option<string|int, U>
Usage with PHP 8.5 pipeline operator: $option |> Option\map(fn($x) => $x * 2)
Parameters
- $callback : callable(T): U
Tags
Return values
callable(Option<string|int, T>): Option<string|int, U>andThen()
Pipeline function: Chains an Option-returning operation on Some value.
andThen(callable(T): Option<string|int, U> $callback) : callable(Option<string|int, T>): Option<string|int, U>
Usage with PHP 8.5 pipeline operator: $option |> Option\andThen(fn($x) => findUser($x))
Parameters
- $callback : callable(T): Option<string|int, U>
Tags
Return values
callable(Option<string|int, T>): Option<string|int, U>orElse()
Pipeline function: Handles None by calling an Option-returning function.
orElse(callable(): Option<string|int, U> $callback) : callable(Option<string|int, mixed>): Option<string|int, mixed|U>
Usage with PHP 8.5 pipeline operator: $option |> Option\orElse(fn() => getDefault())
Parameters
- $callback : callable(): Option<string|int, U>
Tags
Return values
callable(Option<string|int, mixed>): Option<string|int, mixed|U>filter()
Pipeline function: Filters Some value by predicate, returning None if false.
filter(callable(mixed): bool $predicate) : callable(Option<string|int, mixed>): Option<string|int, mixed>
Usage with PHP 8.5 pipeline operator: $option |> Option\filter(fn($x) => $x > 0)
Parameters
- $predicate : callable(mixed): bool
Return values
callable(Option<string|int, mixed>): Option<string|int, mixed>inspect()
Pipeline function: Performs a side-effect on Some value, passing through the Option.
inspect(callable(mixed): mixed $callback) : callable(Option<string|int, mixed>): Option<string|int, mixed>
Usage with PHP 8.5 pipeline operator: $option |> Option\inspect(fn($x) => logger()->info("Got: {$x}"))
Parameters
- $callback : callable(mixed): mixed
Return values
callable(Option<string|int, mixed>): Option<string|int, mixed>unwrapOr()
Pipeline function: Unwraps the Some value or returns the default.
unwrapOr(U $default) : callable(Option<string|int, mixed>): mixed
Usage with PHP 8.5 pipeline operator: $option |> Option\unwrapOr(0)
Parameters
- $default : U
Tags
Return values
callable(Option<string|int, mixed>): mixedunwrapOrElse()
Pipeline function: Unwraps the Some value or computes a default.
unwrapOrElse(callable(): mixed $callback) : callable(Option<string|int, mixed>): mixed
Usage with PHP 8.5 pipeline operator: $option |> Option\unwrapOrElse(fn() => computeDefault())
Parameters
- $callback : callable(): mixed
Return values
callable(Option<string|int, mixed>): mixedexpect()
Pipeline function: Unwraps the Some value or throws RuntimeException with the message.
expect(string $message) : callable(Option<string|int, mixed>): mixed
Usage with PHP 8.5 pipeline operator: $option |> Option\expect('Value must be present')
Parameters
- $message : string
Return values
callable(Option<string|int, mixed>): mixedokOr()
Pipeline function: Converts Option to Result with a fixed error value.
okOr(E $err) : callable(Option<string|int, mixed>): Result<mixed, E>
Usage with PHP 8.5 pipeline operator: $option |> Option\okOr('not found')
Parameters
- $err : E
Tags
Return values
callable(Option<string|int, mixed>): Result<mixed, E>okOrElse()
Pipeline function: Converts Option to Result with a lazy error value.
okOrElse(callable(): E $err) : callable(Option<string|int, mixed>): Result<mixed, E>
Usage with PHP 8.5 pipeline operator: $option |> Option\okOrElse(fn() => new NotFoundException())
Parameters
- $err : callable(): E