phpsoftbox/requisites
Composer 安装命令:
composer require phpsoftbox/requisites
包简介
Requisites component for the PhpSoftBox framework
README 文档
README
Компонент для хранения и валидации реквизитов/паспортных данных/заявлений в унифицированном виде.
Статус: draft (дизайн и план внедрения).
Что решает
- Не привязан к одной предметной области (
Company). - Поддерживает разные сущности-владельцы (компания, пользователь, заявление и т.д.).
- Поддерживает разные схемы полей и валидации, в том числе country-specific.
- Позволяет использовать как общую таблицу, так и кастомные таблицы проекта.
Документация
- 01-instructions.md
- включает детальную стратегию
payload-миграций (schema_version, lazy/eager, backfill); - включает обязательную тестовую стратегию и DoD по этапам.
- включает детальную стратегию
Payload Migrations
PayloadMigrationEngine— выполняет пошаговыеN -> N+1миграции payload.MigrationAwareStorageAdapter— lazy-миграция наfind()/save().BackfillMigrationRunner— eager/backfill миграция таблицыrequisites_records.StaticTargetVersionResolver— целевая версия схемы поprofile/selector.
CLI
Пакет регистрирует команду requisites:migrate.
Примеры:
php psb requisites:migrate --profile=company --dry-runphp psb requisites:migrate --profile=company --selector=country:RU --from=1 --to=3 --batch-size=200
Profile Contract
RequisitesProfileInterface— контракт profile-definition:- selector (
selectorKey/defaultSelector); - схемы (
schemas); - target versions + payload migrators;
requestSchemaClassesдля request-level валидации;storageDefinitionдля profile-routed storage.
- selector (
Built-in Catalogs And Forms
PhpSoftBox\Requisites\Country\RequisitesCountryCatalog:countryCodes()countryOptions()defaultCountryCode()normalizeCountryCode(...)
PhpSoftBox\Requisites\Validation\Form\Company\CompanyRequisitesRuFormValidationPhpSoftBox\Requisites\Validation\Form\Company\CompanyRequisitesKzFormValidationPhpSoftBox\Requisites\Validation\Form\Company\CompanyRequisitesByFormValidationPhpSoftBox\Requisites\Validation\Form\Company\CompanyRequisitesAmFormValidationPhpSoftBox\Requisites\Validation\Form\Company\CompanyRequisitesAzFormValidationPhpSoftBox\Requisites\Validation\Form\Company\CompanyRequisitesGenericFormValidation
Для зарубежных форм (KZ/AM/AZ/BY) текущий минимальный набор полей:
organization_typeorganization_nameorganization_innorganization_addressbank_namebank_account_number
Built-in Rules By Country
Validation\Rule\Ru\*:InnChecksumValidationOgrnByTypeValidationBankAccountChecksumValidationKppFormatValidationSnilsChecksumValidation
Validation\Rule\Kz\*:BinIinChecksumValidationIbanFormatValidation
Validation\Rule\By\*:UnpFormatValidationIbanFormatValidation
Validation\Rule\Am\*:TinFormatValidation- (для банковских реквизитов в
AMиспользуется SWIFT/BIC + формат номера счета, без IBAN-правила в пакете)
Validation\Rule\Az\*:VoenFormatValidationIbanFormatValidation
统计信息
- 总下载量: 7
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 3
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-03-05