wiz-develop / php-value-object
📦 The PHP Value Object library offers immutable, type-safe, and self-validating objects to model domain values using the Value Object pattern.
v0.7.7
2025-10-15 09:12 UTC
Requires
- php: >=8.4
- wiz-develop/php-monad: ^2.6
Requires (Dev)
- phpstan/extension-installer: ^1.4
- phpstan/phpstan: ^2.1
- phpstan/phpstan-strict-rules: ^2.0
- phpunit/php-code-coverage: ^11.0
- phpunit/phpunit: ^11.3
- wiz-develop/php-cs-fixer-config: ^8.4
This package is not auto-updated.
Last update: 2026-06-10 12:20:48 UTC
README
不変性、型安全性、自己検証を持つドメイン値オブジェクトを提供する PHP ライブラリです。
インストール
composer require wiz-develop/php-value-object
使用例
カスタム値オブジェクトの作成
use WizDevelop\PhpValueObject\String\StringValue; use WizDevelop\PhpValueObject\ValueObjectMeta; #[ValueObjectMeta(name: '商品コード')] final readonly class ProductCode extends StringValue { protected static function minLength(): int { return 5; } protected static function maxLength(): int { return 5; } protected static function regex(): string { return '/^P[0-9]{4}$/'; } } $code = ProductCode::from('P1234');
Result 型によるエラーハンドリング
use WizDevelop\PhpMonad\Result; $result = ProductCode::tryFrom('invalid'); $code = $result ->map(fn($code) => $code->value()) ->unwrapOr('デフォルト');
ドキュメント
詳細なガイドと API リファレンスは ドキュメントサイト を参照してください。
要件
- PHP 8.4 以上
ライセンス
MIT License