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.
Installs: 2 378
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 4
pkg:composer/wiz-develop/php-value-object
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
- dev-main
- v0.7.7
- v0.7.6
- v0.7.5
- v0.7.4
- v0.7.3
- v0.7.2
- v0.7.1
- v0.7.0
- v0.6.4
- v0.6.3
- v0.6.2
- v0.6.1
- v0.6.0
- v0.5.8
- v0.5.7
- v0.5.6
- v0.5.5
- v0.5.4
- v0.5.3
- v0.5.2
- v0.5.1
- v0.5.0
- v0.4.4
- v0.4.3
- v0.4.2
- v0.4.1
- v0.4.0
- v0.3.2
- v0.3.1
- v0.3.0-alpha
- dev-endou-mame/issue67
- dev-feature/add-number-value-object-methods
- dev-endou-mame/issue31
This package is not auto-updated.
Last update: 2025-12-10 10:07:59 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