maxipost / form-strategy
Form strategy for hydration
This package's canonical repository appears to be gone and the package has been frozen as a result. Email us for help if needed.
Installs: 228
Dependents: 3
Suggesters: 0
Security: 0
Stars: 0
Forks: 0
pkg:composer/maxipost/form-strategy
Requires
- php: >=7.1
- zendframework/zend-hydrator: ^2.4
Requires (Dev)
- phpstan/phpstan: ^0.11.5
- phpstan/phpstan-phpunit: ^0.11.0
- phpstan/phpstan-strict-rules: ^0.11.0
- phpunit/phpunit: 7.0
This package is not auto-updated.
Last update: 2019-11-08 11:52:19 UTC
README
composer require maxipost/form-strategy
Example hydrate
(new FormStrategyBuilder)->buildFromArray(
[
FormStrategyBuilder::DTO => TestClass\TestClass::class,
FormStrategyBuilder::NESTED_FIELDS => [
'testField1' => [
FormStrategyBuilder::DTO => TestClass\TestClass::class,
],
'testField2' => [
FormStrategyBuilder::DTO => TestClass\TestClass::class,
FormStrategyBuilder::NESTED_FIELDS => [
'testField3' => [FormStrategyBuilder::DTO => TestClass\TestClass::class],
],
],
'testField4' => [
FormStrategyBuilder::DTO => TestClass\TestClass::class,
FormStrategyBuilder::IS_ARRAY => true,
],
'testField5Single' => [
FormStrategyBuilder::DTO => TestClass\TestClass::class,
FormStrategyBuilder::SINGLE_NAME => 'test',
],
],
]
)->hydrate([
'testField1' => ['test' => 'test'],
'testField2' => [
'test' => 'test',
'testField3' => ['test' => 'test'],
],
'testField4' => [
['test' => 'test'],
['test' => 'test'],
],
'testField5Single' => 'single',
]);
Example extract
(new FormStrategyBuilder)->buildFromArray([
FormStrategyBuilder::DTO => TestClass\TestClass::class,
FormStrategyBuilder::NESTED_FIELDS => [
'testField1' => [
FormStrategyBuilder::DTO => TestClass\TestClass::class,
],
'testField2' => [
FormStrategyBuilder::DTO => TestClass\TestClass::class,
FormStrategyBuilder::NESTED_FIELDS => [
'testField3' => [FormStrategyBuilder::DTO => TestClass\TestClass::class],
],
],
'testField4' => [
FormStrategyBuilder::DTO => TestClass\TestClass::class,
FormStrategyBuilder::IS_ARRAY => true,
],
'testField5Single' => [
FormStrategyBuilder::DTO => TestClass\TestClass::class,
FormStrategyBuilder::SINGLE_NAME => 'test',
],
],
])->extract(
$data
);