serendipity_hq/component-value-objects
最新稳定版本:7.1.9
Composer 安装命令:
composer require serendipity_hq/component-value-objects
包简介
A set of value objects to manage simple and composite values
关键字:
README 文档
README
Warning
ARCHIVED
After many years of honorable service, we have decided to archive this repository.
It has been extremely useful in many projects, but the time has come to archive it because it no longer makes sense to continue using it.
This was the first library we ever created: the emotional weight is considerable, and the decision has been extremely difficult.
However, we realized that there is no longer any point in maintaining it.
A post will follow with all the details, alternatives, and instructions on how you can replace this library in your projects.
Serendipity HQ Value Objects
A set of PHP Value Objects to manage simple and composite values.
Current Status
Features
It supports SimpleValueObjects and ComplexValueObjects.
Complex value objects are hydrated passing an array. If a key of the array isn't recognized as property of the object it
is added to the $otherData array so it isn't lost.
Some of those value objects support also the persistence in Doctrine providing custom mapping types (See below).
Do you like this library?
LEAVE A ★
or run
composer global require symfony/thanks && composer thanks
to say thank you to all libraries you use in your current project, this included!
What are Value Objects
Value Objects are PHP objects that represent and manage simple
or complex values. Once set, the value object cannot be modified without changing its identity.
Simple value objects represent a simple value, like an email. Complex value objects represent complex values, that, in order to really represent a value, need more than one value, like a price that needs an amount and a currency to be understandable and have a sense.
PHP supports only one value object: the DateTime object.
This library gives support for other kind of values, differentiating them between complex and simple.
To better understand the concepts behind the value objects, you can read this post.
Install component-value-objects via Composer
$ composer require serendipity_hq/component-value-objects
This library follows the http://semver.org/ versioning conventions.
Instructions to install Intl PHP extension in MAMP for Mac
Available Value Objects
Currently, this library supports the following Value Objects:
- Address: Built-in. A more advanced value object is
commerceguys/addressing(but it more suited for shipping addresses than for addresses themself); - CurrencyExchangeRate: Built-in;
- Email: A basic class derived from Wowo's gist EmailValueObject. It implements `egulias/email-validator to validate emails;
- IP: Just a proxy for the library
darsyn/ip; - Money: Just a proxy for the library
moneyphp/money; - Payment: Built-in
- Phone: Just a proxy for the library
giggsey/libphonenumber-for-php; - Tax: Built-in
- Uri: Just a proxy for the library
Laminas\Uri(formerly Zend Uri). A more advanced value object isLeague\Uri - VatRate: Built-in
- VatNumber: Built-in
Supported features
| ValueObject | Doctrine | Symfony | ||
|---|---|---|---|---|
| Embeddable | Type | Form Type | Twig filter | |
| Address | ✓ | ✕ | ✓ | ✕ |
| Currency | N/A | ✓ | ✕ | ✕ |
| CurrencyExchangeRate | N/A | N/A | N/A | N/A |
| N/A | ✓ | N/A | N/A | |
| IP | N/A | N/A | N/A | N/A |
| Money | N/A | ✓ | ✓ | ✓ |
| Payment | ✕ | ✕ | ✕ | ✕ |
| Phone | ✕ | ✕ | ✕ | ✕ |
| Tax | ✕ | ✕ | ✕ | ✕ |
| Uri | ✕ | ✓ | ✕ | ✕ |
| VAT Rate | ✕ | ✕ | ✕ | ✕ |
| VAT Number | ✕ | ✕ | ✕ | ✕ |
Do you like this library?
LEAVE A ★
or run
composer global require symfony/thanks && composer thanks
to say thank you to all libraries you use in your current project, this included!
serendipity_hq/component-value-objects 适用场景与选型建议
serendipity_hq/component-value-objects 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 547.84k 次下载、GitHub Stars 达 20, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「value objects」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 serendipity_hq/component-value-objects 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 serendipity_hq/component-value-objects 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 serendipity_hq/component-value-objects 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Runn Me! Value Objects Library
MaxAl Subscriptions is a flexible plans and subscription management system for Laravel, with the required tools to run your SAAS like services efficiently. It's simple architecture, accompanied by powerful underlying to afford solid platform for your business.
Rinvex Subscriptions is a flexible plans and subscription management system for Laravel, with the required tools to run your SAAS like services efficiently. It's simple architecture, accompanied by powerful underlying to afford solid platform for your business.
Provides Symfony param converters for mediagone/types-common package.
Rinvex Subscriptions is a flexible plans and subscription management system for Laravel, with the required tools to run your SAAS like services efficiently. It's simple architecture, accompanied by powerful underlying to afford solid platform for your business.
Rinvex Subscriptions is a flexible plans and subscription management system for Laravel, with the required tools to run your SAAS like services efficiently. It's simple architecture, accompanied by powerful underlying to afford solid platform for your business.
统计信息
- 总下载量: 547.84k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 20
- 点击次数: 17
- 依赖项目数: 4
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 未知