Download the PHP package wiz-develop/php-monad without Composer
On this page you can find all versions of the php package wiz-develop/php-monad. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Table of contents
Download wiz-develop/php-monad
More information about wiz-develop/php-monad
Files in wiz-develop/php-monad
Download wiz-develop/php-monad
More information about wiz-develop/php-monad
Files in wiz-develop/php-monad
Vendor wiz-develop
Package php-monad
Short Description 📦 Implemented the concept of monads in functional programming in PHP.
License MIT
Package php-monad
Short Description 📦 Implemented the concept of monads in functional programming in PHP.
License MIT
Please rate this library. Is it a good library?
Informations about the package php-monad
php-monad
📦 PHP で関数型プログラミングのモナドの概念を実装したライブラリです。
目次
- php-monad
- 目次
- Features
- Installation
- プロジェクト構造
- Usage
- Option Monad
- Result Monad
- API Reference
- Option\<T>
- 静的メソッド
- インスタンスメソッド
- Result\<T, E>
- 静的メソッド
- インスタンスメソッド
- Contributing
- License
- References
Features
Option<T>
- 「値がある」(Some<T>
)か「値がない」(None
)かを表現する型Result<T, E>
- 「成功」(Ok<T>
)か「失敗」(Err<E>
)かを表現する型
Installation
プロジェクト構造
以下の図は、php-monadプロジェクトの構造を表しています。コアライブラリ、テスト、ツールとその関連性を視覚的に示しています。
この図は以下の構成要素を示しています:
-
コアライブラリ:
- 基本となるMonadクラス
- Option型とそのSome/None実装
- Result型とそのOk/Err実装
- 共有関数やヘルパー関数
-
テスト:
- テストインフラストラクチャ
- Option型とResult型のテスト
- ツールと設定:
- Composer(依存関係管理)
- 静的解析ツール
- コードスタイルチェック
- CI/CD設定
- 開発環境設定
各ノードはGitHubリポジトリ内の該当ファイルにリンクされています。
Usage
Option Monad
Option<T>
は値が存在する可能性がある場合に使用します。null
の代わりに使用することで、より型安全なコードを書くことができます。
Result Monad
Result<T, E>
は処理が成功するか失敗するかを表現するのに使用します。例外を投げる代わりに使用することで、エラーハンドリングを型安全に行うことができます。
API Reference
Option\<T>
静的メソッド
Option::some($value)
- Some\<T>インスタンスを生成Option::none()
- Noneインスタンスを生成Option::from($value)
- 値からOptionを生成(nullの場合はNone、それ以外はSome)
インスタンスメソッド
isSome(): bool
- 値が存在するかチェックisNone(): bool
- 値が存在しないかチェックunwrap(): T
- 値を取り出す(Noneの場合は例外)unwrapOr($default): T
- 値を取り出すか、デフォルト値を返すmap(callable $f): Option<U>
- 値を変換flatMap(callable $f): Option<U>
- 値を別のOptionに変換filter(callable $predicate): Option<T>
- 条件に合致する場合のみSomeを返すexpect(string $msg): T
- 値を取り出す(Noneの場合はカスタムメッセージで例外)toResult($err): Result<T, E>
- OptionをResultに変換
Result\<T, E>
静的メソッド
Result::ok($value)
- Ok\<T>インスタンスを生成Result::err($error)
- Err\<E>インスタンスを生成
インスタンスメソッド
isOk(): bool
- 処理が成功したかチェックisErr(): bool
- 処理が失敗したかチェックunwrap(): T
- 値を取り出す(Errの場合は例外)unwrapOr($default): T
- 値を取り出すか、デフォルト値を返すunwrapErr(): E
- エラー値を取り出す(Okの場合は例外)map(callable $f): Result<U, E>
- 値を変換mapErr(callable $f): Result<T, F>
- エラー値を変換flatMap(callable $f): Result<U, E>
- 値を別のResultに変換expect(string $msg): T
- 値を取り出す(Errの場合はカスタムメッセージで例外)toOption(): Option<T>
- ResultをOptionに変換
Contributing
貢献は歓迎します!バグ報告、機能リクエスト、プルリクエストなど、どんな形でも構いません。
- リポジトリをフォークする
- 機能ブランチを作成する (
git checkout -b feature/amazing-feature
) - 変更をコミットする (
git commit -m 'Add some amazing feature'
) - ブランチをプッシュする (
git push origin feature/amazing-feature
) - プルリクエストを作成する
License
MIT License - LICENSEファイルをご覧ください。
References
All versions of php-monad with dependencies
PHP Build Version
Package Version
Requires
php Version
>=8.3
The package wiz-develop/php-monad contains the following files
Loading the files please wait ....